当前位置: 首页 > news >正文

C++每日刷题 day2025.7.09

思路就是利用俩“指针”i和j,每次i遇到空格,j刚好是单词的首字母,此时不仅仅加入,也将j的位置放到i+1的位置上即可,代码如下:

#include <iostream>
using namespace std;int main() 
{string s;string ret;while (getline(cin, s)){for (int i = 0, j = 0; i < s.size(); i++){if (s[i] == ' '){if (s[j] >= 97){s[j] -= 32;}ret.push_back(s[j]);j = i + 1;}if (i == s.size() - 1){if(s[j] >= 97){s[j] -= 32;}ret.push_back(s[j]);}}cout << ret;}return 0;
}

dd爱框框就是一个简单的滑动窗口问题,进窗口,判断,出窗口。

#include <iostream>
#include <vector>
#include <climits>
using namespace std;
const int N = 1e7 + 10;
int n = 0;
int x = 0;
int arr[N];
int ret;
int rightlen = -1;
int leftlen = -1;
int dis = N;
int main()
{cin >> n >> x;for (int i = 1; i <= n; ++i){cin >> arr[i];}// 滑动窗口int left = 0;int right = 0;while (right <= n){ret += arr[right];while (ret >= x){if (right - left + 1 < dis){leftlen = left;rightlen = right;dis = right - left + 1;}ret -= arr[left];left++;}right++;}cout << leftlen << " " << rightlen;return 0;
}

使用dfs这个思路,每次只要是递归层次到了与digits.size()层次的时候,此时就插入先前排列组合过的字母就行了,其他层级就全排列就用的是dfs。

class Solution {
public:string hash[10] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};vector<string> ret;string path;vector<string> letterCombinations(string digits) {if (!digits.size()) return {};dfs(0, digits);return ret;}void dfs(int pos, string& digits){if (pos == digits.size()){ret.push_back(path);return;}int index = digits[pos] - '0';for (int i = 0; i < hash[index].size(); ++i){path += hash[index][i];dfs(pos + 1, digits);path.pop_back();}}
};

使用栈,左括号配合右括号,配合到了就返回true,其他都返回false。

class Solution {
public:bool isValid(string s) {if (s.size() == 0) return false;stack<char> st;for (int i = 0; i < s.size(); i++){if (s[i] == '[' || s[i] == '(' || s[i] == '{'){st.push(s[i]);}else{if (st.empty())  return false;char top = st.top();switch(top){case '[':{if (s[i] != ']') return false;break;}case '(':{if (s[i] != ')') return false;break;}case '{':{if (s[i] != '}') return false;break;}default: break;}st.pop();}}if (!st.empty()) return false;return true;}
};
http://www.dtcms.com/a/271496.html

相关文章:

  • 备受期待的 MMORPG 游戏《侍魂R》移动端现已上线 Sui
  • RK3588 buildroot 解决软件包无法下载
  • 用户查询优惠券之缓存击穿
  • RAC-CELL(小区)处理
  • Ubuntu连接不上网络问题(Network is unreachable)
  • 国产航顺HK32F030M: 串口调试debug,重定向c库函数printf到串口,重定向后可使用printf函数
  • 记一次接口优化历程 CountDownLatch
  • C语言模块化编程思维以及直流电机控制(第四天)
  • 深度学习——损失函数
  • 【使用Flask基于PaddleOCR3.0开发一个接口 调用时报错RuntimeError: std::exception】
  • JVM调优实战指南:让Java程序性能飞升的奥秘
  • PanTS: The Pancreatic Tumor Segmentation Dataset
  • 使用anaconda创建基础环境
  • 数据分析框架和方法
  • 数据分析-名词
  • pip 安装加速指南:配置国内镜像源(中国科技大学、清华、阿里云等)
  • Java武林:虚拟机之道 第七章:秘籍解析 - JVM调优参数
  • 经验分享-没有xcode也可以上传App Store Connect
  • S7-1500——(一)从入门到精通1、基于TIA 博途解析PLC程序结构(一)
  • c语言中的数组II
  • 景观桥 涵洞 城门等遮挡物对汽车安全性的影响数学建模和计算方法,需要收集那些数据
  • 周立功汽车软件ZXDoc深度解析:新能源汽车开发新基建的破局之道
  • java 语法类新特性总结
  • 【王树森推荐系统】排序05:排序模型的特征
  • 计蒜客T3473丑数、Leetcode2401最长优雅子数组、Leetcode167两数之和、Leetcode581最短无序连续子数组
  • 深度帖:浏览器的事件循环与JS异步
  • 【教程】基于GNN的药物相互作用网络中的链接预测
  • 数据一致性解决方案总结
  • Linux驱动04 --- 网络编程TCP客户端
  • 暑假读书笔记第五天