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

C++编程实战:高效解决算法与数据结构问题

个人主页 : zxctscl
专栏 【C++】、 【C语言】、 【Linux】、 【数据结构】、 【算法】
如有转载请先通知

题目

  • 1. 数字统计
  • 2. 两个数组的交集
  • 3. 牛牛的快递
  • 4. 点击消除
  • 5. 最小花费爬楼梯
  • 6. 简写单词

1. 数字统计

BC153 数字统计
在这里插入图片描述

#include <iostream>
using namespace std;int main() {int a, b;cin >> a >> b; int count;for(int i=a;i<=b;i++){int tmp=i;//避免修改原数据while(tmp){if(tmp%10==2)count++;tmp/=10;}}cout<<count;
}
// 64 位输出请用 printf("%lld")

2. 两个数组的交集

NC313 两个数组的交集
在这里插入图片描述

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums1 int整型vector * @param nums2 int整型vector * @return int整型vector*/vector<int> intersection(vector<int>& nums1, vector<int>& nums2){unordered_set<int> hash1(nums1.begin(),nums1.end());unordered_set<int> hash2(nums2.begin(),nums2.end());vector<int> ret;for(auto x:hash2){if(hash1.count(x))ret.push_back(x);hash1.insert(x);}return ret;// write code here}
};

3. 牛牛的快递

BC64 牛牛的快递

在这里插入图片描述

#include <iostream>
using namespace std;int main() {double a;char b;int sum=20;cin>>a>>b;if(a<=1){if(b=='y')sum+=5;cout<<sum;}else {double tmp=a-1;if(tmp-(int)tmp==0)sum+=tmp;else{ sum+=tmp/1+1;}if(b=='y')sum+=5;cout<<sum;}}
// 64 位输出请用 printf("%lld")

4. 点击消除

AB5 点击消除

在这里插入图片描述
模拟栈

#include <iostream>
using namespace std;int main() {string s;cin>>s;string ret;for(int i=0;i<s.size();i++){if(ret.size()&&ret.back()==s[i])ret.pop_back();else ret+=s[i];}if(ret.size()==0)cout<<"0";else cout<<ret;}
// 64 位输出请用 printf("%lld")

5. 最小花费爬楼梯

DP4 最小花费爬楼梯
在这里插入图片描述

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int n;
int cost[N];
int dp[N];
int main() {cin >> n;for (int i = 0; i < n; i++) cin >> cost[i];if(n==1)//边界情况{cout<<cost[0]<<endl;}else{for (int i = 2; i <= n; i++) {dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}cout << dp[n] << endl;}return 0;
}
// 64 位输出请用 printf("%lld")

6. 简写单词

在这里插入图片描述
模拟

BC149 简写单词

#include <iostream>
using namespace std;int main() {string s;while(cin>>s)//自动跳空格,仅需处理每一个单词首字母{if(s[0]<='z'&&s[0]>='a')cout<<(char)(s[0]-32);else cout<<s[0];}
}
// 64 位输出请用 printf("%lld")
http://www.xdnf.cn/news/18021.html

相关文章:

  • Python多线程、锁、多进程、异步编程
  • 自动驾驶中的传感器技术34——Lidar(9)
  • Python训练营打卡Day35-复习日
  • 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(五)
  • Pandas 和 NumPy的区别和联系
  • 安卓开发中遇到Medium Phone API 36.0 is already running as process XXX.
  • RK3568平台开发系列讲解:PCIE trainning失败怎么办
  • 计算机网络 OSI 七层模型和 TCP 五层模型
  • day43_2025-08-17
  • git stash临时保存工作区
  • Talk2BEV论文速读
  • Next.js跟React关系(Next.js是基于React库的全栈框架)(文件系统路由、服务端渲染SSR、静态生成SSG、增量静态再生ISR、API路由)
  • 【Python】-- 机器学习项目 - 基于KNN算法的鸢尾花分类
  • 基于飞算JavaAI实现布隆过滤器防止缓存穿透:原理、实践与全流程解析
  • HTTP0.9/1.0/1.1/2.0
  • 免费照片压缩网站
  • Android原生(Kotlin)与Flutter混合开发 - 设备控制与状态同步解决方案
  • Visual Studio Code 基础设置指南
  • C++ 特殊类设计与单例模式解析
  • 云计算-K8s 实战:Pod、安全上下文、HPA 、CRD、网络策略、亲和性等功能配置实操指南
  • 天地图开发的优点
  • Leaflet赋能:WebGIS视角下的省域区县天气可视化实战攻略
  • PostgreSQL——用户管理
  • Dify 从入门到精通(第 38/100 篇):Dify 的实时协作功能
  • PIDGen!DecodeProdKey函数分析之四个断点
  • 优雅草星云物联网项目私有化定制技术解析:RS485接口与工业通讯协议-优雅草卓伊凡
  • 原码表示法、反码表示法、移码表示法、补码表示法
  • C语言基础:(十五)深入理解指针(5)
  • 牛 CDR3 单抗:抗病毒领域的 “纳米级精准导弹”
  • 类与类加载器