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

【C++】 —— 笔试刷题day_1

为了锻炼自己写代码的思路,开始每日刷题,加油!!!

第一题 数字统计

题目要求:

​ 给定一个范围[L , R]求出数字L在该区间内出现的次数。(其中1<=L<=R<=10000)

算法思路:

代码:

#include<iostream>usingnamespacestd;intmain(){intL,R;cin>>L>>R;intcount=0;for(size_t i=L;i<=R;i++){inttmp=i;while(tmp){if(tmp%10==2){count++;}tmp/=10;}}cout<<count<<endl;return0;}

第二题 两个数组的交集

题目要求:

​ 给定两个整数数组,返回这两个数组的交集(共同的元素)

注意:多个相同的元素,只算一个。

算法思路:

​ 利用nums1中的数据,映射出哈希表,然后遍历nums2,如果存在于nums1中相同的元素,就插入到要返回的数组(vector中)。

注意:这里可以使用STL的容器,也可以使用简单的数组来模拟哈希表;这里就用数组来模拟哈希表。

代码:

classSolution{public:boolarr[1001]={0};vector<int>intersection(vector<int>&nums1,vector<int>&nums2){// write code herefor(autoe:nums1){arr[e]=true;}vector<int>ret;for(autoe:nums2){if(arr[e]){ret.push_back(e);arr[e]=false;}}returnret;}};

第三题 点击消除

题目要求:

​ 输入一个字符串,每一次消除相邻位置相同的字符(删除之后前后的字符就相邻了);就比如:字符串"abbac",删除"bb"后就变成了"aac",此时"aa"就相邻了,还需要继续删除;最后结果就是"c"。

算法思路:

​ 这个题,以至于这种类型的题都可以使用栈这个数据结构来写,思路如下:

​ 遍历字符串,如果栈为空或者字符串中元素不等于栈顶元素,就入栈;否则就出栈。最后如果栈为空就表示完全删除后没有字符了。

如果栈不为空,那栈中数据就是最后的字符串(注意:栈中从栈顶到栈底与最后结果是相反,需要进行相关操作输出正确的顺序)。

这里可以使用栈这个数据结构(STL中栈容器),也可以使用其他数据结构或者数组来模拟栈。

代码:

​ 这里写两个代码,一个是直接使用栈结构的,另一个就用数组(string)模拟栈结构。

栈结构:

#include<iostream>#include<stack>usingnamespacestd;intmain(){string str;stack<char>s1;cin>>str;for(autoch:str){if(s1.empty()||ch!=s1.top()){s1.push(ch);}else{s1.pop();}}if(s1.empty()){cout<<'0';return0;}stack<char>s2;while(!s1.empty()){s2.push(s1.top());s1.pop();}while(!s2.empty()){cout<<s2.top();s2.pop();}return0;}

数组模拟栈结构:

#include<iostream>usingnamespacestd;intmain(){string str;cin>>str;string ret;for(autoch:str){if(ret.size()==0||ret[ret.size()-1]!=ch){ret.push_back(ch);}else{ret.pop_back();}}if(ret.empty()){cout<<'0';return0;}cout<<ret;return0;}

今天的题目解析到这就结束了,坚持坚持!!!

http://www.jsqmd.com/news/810865/

相关文章:

  • WeChatExporter实践指南:微信聊天记录本地化备份与查看的完整工作流
  • bplustree实战教程:如何配置和优化索引文件块大小提升数十亿级数据存储性能
  • 告别SSH频繁掉线:深入剖析连接保持机制与实战配置
  • 网站被黑、浏览器报红!从挂马清理、后门查杀到解除黑名单,一套完整应急修复手册
  • 如何快速提升英雄联盟游戏体验:Seraphine智能辅助工具完整指南
  • 5个核心技术解密:APK Installer如何在Windows上实现安卓应用无缝部署
  • 简单学习 --> Lambda表达式
  • 2025届毕业生推荐的六大降AI率神器实际效果
  • Axure RP中文汉化终极指南:3分钟让英文界面变中文的完整教程
  • 终极指南:Shoelace项目结构与架构深度解析
  • 为什么NanoSVG是嵌入式系统和游戏开发的首选SVG解析器
  • 数据产品设计终极指南:如何用awesome-bigdata实现数据驱动开发
  • Pixelify版本更新日志分析:从Beta到v3.0的功能演进
  • 从手动复制到智能流转:5分钟掌握PT资源一键转载的高效革命
  • 工业DC-DC电源选型性能解析:钡特电源 DRB1-12S05LS 与 IB1205LS-1WR3 封装对照互通
  • ChatGLM3性能优化终极指南:不同硬件配置下的推理速度对比与预测
  • Kotlin扩展函数在Android Sunflower中的终极应用:10个提升代码简洁性的技巧
  • 发那科机器人SRVO-348报警:从DCS原理到接触器卡滞的深度诊断
  • 半导体产业回流:从成本中心到价值中心的战略重构
  • c++如何利用std--bitset高效存取数千个开关标志位到二进制文件【详解】
  • VMware Unlocker 3.0:如何在普通PC上安装macOS虚拟机的完整指南
  • Scrapfly MCP Server:为AI助手注入实时网页抓取能力
  • 社交媒体技能实战指南:从内容战略到个人品牌构建
  • React Redux TypeScript类型推断失败的5个常见问题及终极解决方案
  • 性能优化学习
  • 异构摄像设备协同适配,适配工业车间复杂环境跨镜追踪管控
  • ORAN专题系列-8:5G O-RAN Option7分体式小基站硬件白盒化的关键组件与部署场景剖析
  • 终极指南:如何将UglifyJS完美集成到Python Web框架中
  • AMD Ryzen终极调试指南:免费开源工具SMUDebugTool完整解析
  • Origin绘图实战:7个高频问题与高效解决方案