news 2026/8/6 20:11:03

C/C++每日一练18

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C/C++每日一练18

第一题:压缩字符串

题目描述:将字符串中连续重复的字符压缩为 “字符 + 次数” 的形式,若次数为 1 则只保留字符。例如输入 “aabcccccaaa”,输出 “a2b1c5a3”。算法原理:遍历字符串,用一个变量记录当前字符,另一个变量记录连续出现的次数。当遇到与当前字符不同的字符时,将当前字符和次数拼接到结果中,然后更新当前字符和次数。遍历结束后,别忘了拼接最后一组字符和次数。代码:

cpp

运行

#include <iostream> #include <string> using namespace std; int main() { string s, res; cin >> s; if (s.empty()) { cout << res << endl; return 0; } char curr = s[0]; int cnt = 1; for (int i = 1; i < s.size(); ++i) { if (s[i] == curr) { cnt++; } else { res += curr + to_string(cnt); curr = s[i]; cnt = 1; } } res += curr + to_string(cnt); cout << res << endl; return 0; }

第二题:恰卡和蜜柑

题目描述:恰卡有 n 个蜜柑,第 i 个蜜柑的甜度为 a [i],他想选 k 个蜜柑,使得甜度之和最大,求最大甜度和。算法原理:这是典型的 “选最大 k 个数求和” 问题。可以先对数组进行降序排序,然后取前 k 个数相加即可。排序可以用 C++ 的 sort 函数,通过自定义比较器实现降序。代码:

cpp

运行

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } sort(a.rbegin(), a.rend()); int sum = 0; for (int i = 0; i < k; ++i) { sum += a[i]; } cout << sum << endl; return 0; }

第三题:01 背包

题目描述:有 n 件物品,每件物品有重量 w [i] 和价值 v [i],背包容量为 C,每件物品只能选一次,求背包能装下的最大价值。算法原理:用动态规划解决。定义 dp [j] 为容量为 j 的背包能装的最大价值。初始时 dp [0]=0,其他 dp [j]=0。对于每件物品 i,从容量 C 倒序遍历到 w [i],更新 dp [j] = max (dp [j], dp [j - w [i]] + v [i])。倒序遍历是为了保证每件物品只被选一次。最后 dp [C] 就是答案。代码:

cpp

运行

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, C; cin >> n >> C; vector<int> w(n), v(n); for (int i = 0; i < n; ++i) { cin >> w[i] >> v[i]; } vector<int> dp(C + 1, 0); for (int i = 0; i < n; ++i) { for (int j = C; j >= w[i]; --j) { dp[j] = max(dp[j], dp[j - w[i]] + v[i]); } } cout << dp[C] << endl; return 0; }
谢谢
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 20:10:43

固定翼无人机集群协同搜索算法与MATLAB实现

1. 项目背景与核心挑战在无人机技术快速发展的今天&#xff0c;固定翼无人机集群协同搜索已经成为军事侦察、灾害救援和环境监测等领域的重要技术手段。不同于单机作业&#xff0c;集群系统面临着更为复杂的动态环境&#xff0c;需要解决三大核心问题&#xff1a;异构平台间的协…

作者头像 李华
网站建设 2026/8/6 20:07:17

OBS多平台直播终极指南:obs-multi-rtmp插件实现一键同时推流

OBS多平台直播终极指南&#xff1a;obs-multi-rtmp插件实现一键同时推流 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你是否曾为在不同直播平台间切换推流设置而烦恼&#xff1f;想同…

作者头像 李华
网站建设 2026/8/6 20:05:12

7.3.3.2.4 Msg5 — 初始接入完成确认

本节课程视频 前面几节课&#xff0c;我们陆续讨论了随机接入&#xff08;初始化接入&#xff09;过程中的Msg1&#xff08;PRACH随机接入信道&#xff09;、Msg2&#xff08;RAR&#xff09;、Msg3&#xff08;RRC连接请求&#xff09;与Msg4&#xff08;竞争解决&#xff09;…

作者头像 李华
网站建设 2026/8/6 20:01:00

AXI浏览器基准测试全解析:490次运行背后的性能密码

AXI浏览器基准测试全解析&#xff1a;490次运行背后的性能密码 【免费下载链接】axi Design principles for agent ergonomics. Higher accuracy with lower token cost than both MCP and regular CLI. 项目地址: https://gitcode.com/gh_mirrors/axi2/axi 在当今AI驱动…

作者头像 李华
网站建设 2026/8/6 20:00:53

外卖骑手戴上AI头盔,1400万兼职被算法重新定价

8月3日&#xff0c;京东外卖宣布推出AI智能头盔&#xff0c;首批免费发放给全职骑手&#xff0c;后续向全体骑手开放。这是端侧AI硬件第一次大规模进入外卖骑手这一劳动密集型场景。值得注意的是&#xff0c;京东外卖自2025年3月进入行业以来&#xff0c;已为15万名全职骑手缴纳…

作者头像 李华