【笔试强训】Day1 --- 数字统计 + 两个数组的交集 + 点击消除

文章目录

    • 1. 数字统计
    • 2. 两个数组的交集
    • 3. 点击消除

1. 数字统计

【链接】:数字统计
在这里插入图片描述

解题思路:模拟,利用数学知识,计算每个数字中2出现的个数。(这里也可以将数字转换成字符串来统计字符’2’出现的个数)

#include <iostream>
using namespace std;int main() {int l,r;cin>>l>>r;int ret = 0;for(int i = l;i <= r;i++){int temp = i;while(temp){if(temp % 10 == 2) ret++;temp /= 10;}}cout<<ret<<endl;return 0;
}// #include <iostream>
// using namespace std;// int main() {
//     int l,r;
//     cin>>l>>r;//     int ret = 0;
//     for(int i = l;i <= r;i++)
//     {
//         string temp = to_string(i);
//         for(auto& ch:temp)
//         {
//             if(ch == '2') ret++;
//         }
//     }
//     cout<<ret<<endl;
//     return 0;
// }

2. 两个数组的交集

【链接】:两个数组的交集
在这里插入图片描述

解题思路:利用哈希表记录第一个数组中每个元素是否出现,再次遍历第二个数组的元素,如果元素在哈希表出现就将该元素添加到记录最终结果的数组 ret 中,然后将哈希表中该元素删除(对应值改为false即可),遍历完成后,最后结果即在 ret 数组中。

class Solution {vector<int> ret; // 记录最终结果bool hash[1010] = {false}; // 哈希表
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {for(auto& x:nums1) // 统计第一个数组{hash[x] = true;}for(auto& x:nums2) // 遍历第二个数组{if(hash[x]) ret.push_back(x);hash[x] = false;}return ret;}
};

3. 点击消除

【链接】:点击消除

在这里插入图片描述

解题思路:利用栈的先进先出特点,并不需要一个真的栈,我们只需要用一个 string 来模拟栈即可,遍历字符串,当栈顶元素与当前遍历到的字符不相等(或者栈为空)时,将该字符加入栈中,否者将栈顶这个相等的字符弹出,继续遍历下一个字符,直到字符串末尾为止。

#include <iostream>
using namespace std;int main() {string str,st; // st用来模拟栈cin>>str;for(auto& ch:str){if(!st.empty() && st.back() == ch) st.pop_back();else st += ch;}cout<<(st.empty() ? "0" : st)<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用Flask搭建web程序框架并实现无公网IP远程访问本地程序

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架&#xff0c;让我们可以使用Python语言快速实现一个网站或Web服务&#xff0c;本期教程…

bonding原理分析和问题排查

bonding原理 发送端&#xff1a; 使用网卡bond3模式&#xff08;广播模式BOND_MODE_BROADCAST&#xff09;将报文从两个网卡同时发出&#xff0c;无需修改报文。 接收端&#xff1a; 根据发送节点时间的链路通断状态&#xff0c;接收端设置一条线路为活动线&#xff0c;另一条…

免费泛域名SSL如何申请,和通配符有什么区别

-----让我们明确什么是泛域名。所谓泛域名&#xff0c;是指使用星号&#xff08;*&#xff09;作为子域名的占位符&#xff0c;它可以匹配任意子域名。-----而通配符在域名中&#xff0c;它可以出现在主域名的任何位置&#xff0c;它可以用于主域名和子域名的保护。 主要应用场…

XZ-Utils后门事件过程及启示

Part.01 背景 XZ-Utils&#xff08;曾经叫做LZMA Utils&#xff09;是一款开源的无损压缩命令行工具&#xff0c;是用C语言编写的跨平台工具&#xff0c;可以用于类Unix系统和Windows系统。在多数情况下&#xff0c;xz的压缩率要好过gzip和bzip2&#xff0c;解压速度也快过bz…

Java的数组定义和使用

目录 1.前言 2.数组的概念 3.在Java中的创建和初始化 3.1数组的创建 3.2数组的初始化 4.关于使用 4.1数组元素的访问 4.2数组的遍历 4.3length和length()的区别 5.数组其实是引用类型数据 5.1初始JVM的内存分布 5.2基本类型变量与引用类型变量的区别 5.3关于null的认识 5.4设计…

工作流JBPM画图与配置

文章目录 ☃️7.1 画图☃️7.2 配置7.2.1 配置任务办理人7.2.1.1 写死的方式配置任务办理人&#xff08;不推荐&#xff09;7.2.1.2 #{}方式配置任务办理人7.2.1.3 实现接口方式配置任务办理人7.2.1.4 方法指定方式分配任务办理人 7.2.2 配置节点属性7.2.2.1 判断节点(decision…

Sourcetree安装使用(补个笔记)

Sourcetree介绍 Sourcetree是一款免费的Git图形化客户端&#xff0c;它由Atlassian开发&#xff0c;提供了跨平台的支持&#xff0c;可运行在Windows和Mac操作系统上。Sourcetree可以让开发者更方便地使用Git来管理代码&#xff0c;不需要在命令行中输入复杂的Git命令&#xf…

HTML学习笔记:链接target属性

关于target的使用&#xff1a; <a href"https://www.baidu.com" target"_parent">网址链接</a>其中关于target四个特殊目标的理解&#xff0c;W3school上的解释为&#xff1a; HTML 标签的 target 属性 其中_black和_self两个属性很好理解&…