C++ 实现:求解二进制字符串中消除连续 m 个 0 的最少操作次数
首先,我们需要找到所有连续的0的片段,并记录它们的长度。 然后,我们可以遍历这些片段,对于每个长度大于等于m的片段,我们将其分成若干长度为k的子片段,并将它们全部变成1。操作的次数就是子片段的个数。 下面是一个示例的C++代码实现: ```cpp #include <iostream> #include <vector> #include <string> using namespace std; int main() { int t; cin >> t; while (t--) { int n, m, k; cin >> n >> m >> k; string s; cin >> s; int count = 0; vector<int> lengths; // 保存所有连续的0片段的长度 int currLength = 0; for (int i = 0; i < n; i++) { if (s[i] == '0') { currLength++; } else { if (currLength > 0) { lengths.push_back(currLength); count += currLength / k; } currLength = 0; } } if (currLength > 0) { lengths.push_back(currLength); count += currLength / k; } // 处理长度大于等于m的片段 for (int i = 0; i < lengths.size(); i++) { if (lengths[i] >= m) { count -= lengths[i] / k; } } cout << count << endl; } return 0; } ``` 希望可以帮助到你! ######[AI写代码神器 | 876点数解答 | 2024-11-30 23:07:54]
- Python实现Q老师成绩管理任务:修改与查看学生成绩(字节豆包 | 191点数解答 | 2025-12-20 20:55:41)70
- Python 代码助力 Q 老师高效管理班级学生成绩:修改与查看一键搞定(字节豆包 | 326点数解答 | 2025-12-27 20:48:12)70
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)478
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)464
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)401
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)426
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)78
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)107
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 深入解析洛谷打卡系统:规则揭秘与代码实现(字节豆包 | 316点数解答 | 2025-11-16 19:45:59)103
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)534