C++笔试强训day1

news2024/12/25 0:46:33

目录

1.数字统计

2.两个数组的交集

3.点击消除


1.数字统计

链接

题目非常简单,不做赘述:就是单纯利用循环逐个%2判断是否==0

详细代码:

#include <iostream>
using namespace std;
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    int l, r;
    cin >> l >> r;
    int cnt = 0;
    for (int i = l; i <= r; ++i) {
        int tmp = i;
        while (tmp) {
            if (tmp % 10 == 2)
                cnt++;
            tmp /= 10;
        }
    }
    cout << cnt << endl;
}
// 64 位输出请用 printf("%lld")

(前三行只是为了降低cin 和 cout 的处理时间)

2.两个数组的交集

链接

我一开始的思路是找出相同元素,然后再写个去重函数去重就ok,但是这样有点麻烦,可以直接用哈希表快速解决(主要是时间复杂度也低)。

1.创建两个哈希表s1  s2,s1遍历第一个数组中的元素并存储,注意,用emplace(当然,用insert也可以,不过需要加if判断,别让哈希存储相同元素)

上端大概的意思就是emplace只有在set中不存在这个元素的时候才会插入

2.然后set2遍历第二个数组,如果set2中已有该元素,则跳过,若没有,先存储元素到set2中,接着判断第二个数组中的元素在set1中是否存在,存在则直接存入ret(需要返回的数组)

详细代码:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums1 int整型vector
     * @param nums2 int整型vector
     * @return int整型vector
     */
    unordered_set<int> s1;
    unordered_set<int> s2;
    
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        int len1 = nums1.size();
        int len2 = nums2.size();
        
        vector<int> ret;

        for(int num : nums1)
            s1.emplace(num);

        for(int num : nums2)
        {
            if(s2.count(num) == 1) {}
            else
            {
                if(s1.count(num) == 1)
                    ret.push_back(num);
                s2.emplace(num);
            }
        }
        return ret;
    }
};

3.点击消除

链接

这道理可以直接理解为消消乐,利用栈的特性,从字符串头开始遍历,一个一个进栈,若发现s[i] = st.top(),就删除栈顶,并且遍历下一个数。

到最后将栈里面的数一个一个取出+=到ret(需要返回的字符串)中,最后reverse(逆置)就行。

详细代码:

#include <iostream>
#include <algorithm>
#include <string>
#include <stack>

using namespace std;

int main() {
    string s;
    cin >> s;

    stack<char> st;
    string tmp;


    for (auto c : s) {
        if (st.empty() || c != st.top())
            st.push(c);
        else
            st.pop();
    }

    if (st.empty())
		cout << 0 << endl;
    else {
        while (!st.empty()) {
            tmp += st.top();
            st.pop();
        }
        reverse(tmp.begin(), tmp.end());
        cout << tmp << endl;
    }

    return 0;
}

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

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

相关文章

vue快速入门(二十九)echarts在vue中的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 echarts.js的下载途径echarts的饼图示范 echarts.js&#xff0c;点击跳转&#xff0c;右键另存即可 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

「C++」掌握C++异步编程

&#x1f4bb;文章目录 &#x1f4c4;前言异步任务概念期待与承诺futurepromise异常处理 执行异步任务asyncpackaged_task &#x1f4d3;总结 &#x1f4c4;前言 异步任务是多线程编程的核心&#xff0c;若想学习多线程设计&#xff0c;深入了解这些基本概念是必不可少的。如果…

GPT-3.5和GPT-Plus的区别

GPT-3.5和GPT-Plus都是OpenAI开发的大型语言模型,但它们之间有一些区别: GPT-3.5就是大家熟知的ChatGPT GPT-Plus 是Open AI 的更强的AI模型GPT-4版本。两者区别是&#xff1a; 模型规模:GPT-Plus是GPT-3的一个更大版本,参数量更多。而GPT-3.5是GPT-3的一个优化版本,在参数量…

欧科云链:香港虚拟资产OTC合规在即,技术监管成市场规范关键

4月12日香港OTC发牌制度公众咨询结束后&#xff0c;欧科云链研究院在星岛日报发表专栏文章&#xff0c;分享对香港OTC市场的调研情况&#xff0c;并提出“技术监管是香港OTC及Web3生态走向规范的关键”。欧科云链研究院认为&#xff0c;随着OTC监管及虚拟资产现货ETF等事件向前…

ruoyi 代码生成

子模块 ruoyi-generator 导入表信息 导入表信息时系统会默认读取ruoyi-generator/src/main/resources/generator.yml路径下的配置,配置如下 # 代码生成 gen:# 作者author: ruoyi# 默认生成包路径 system 需改成自己的模块名称 如 system monitor toolpackageName: com.ruoy…

Proteus 8.17 2024年最新版 安装和汉化教程

Proteus是一款专业的电路设计和仿真软件&#xff0c;被广泛应用于电子设计、嵌入式系统开发等领域&#xff0c;是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。 软件下载&#xff1a;长按识别关注“我爱单片机”公众号&#xff0c;回复“protues…

C语言进阶课程学习记录-第38课 - 动态内存分配

C语言进阶课程学习记录-第38课 - 动态内存分配 内存动态分配实验-malloc(0)实验实验-realloc和calloc小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 内存动态分配 实验-malloc(0) #include <st…

PMP报考别跟风!搞懂这些问题不踩坑!

1.PMP是什么&#xff1f; 1.PMP(Project ManagementProfessional)的中文全称是项目管理专业人士资格认证。该认证是由美国项目管理协会PMI在全球206个国家发起的针对项目经理的资格认证。 2.PMP认证是目前国际上项目管理领域认可度和含金量最高的证书。通过PMP就证明你的项目…

3.1 海思SS928开发 - 烧写工具 - ToolPlatform 安装及配置

3.1 烧写工具 - ToolPlatform 安装及配置 ToolPlatform 安装 进入到开发虚拟机&#xff0c;将文件 ~/hiss928/sdk/ema_2.0.2.2/pc/ToolPlatform/ToolPlatform-1.0.11-win32-x86_64.zip 拷贝至 PC 上。PC 要求安装了 win7 及以上的操作系统。解压压缩包 ToolPlatform-1.0.11-w…

ffmpeg入门

ffmpeg入——安装 Fmpeg地址 FFmpeg源码地址&#xff1a;https://github.com/FFmpeg/FFmpeg FFmpeg可执行文件地址&#xff1a;https://ffmpeg.org/download.html Windows平台 Windows平台下载解压后如图所示&#xff08;文件名称以-share结尾的是开发库&#xff09; FFmpeg…

当面试官的一些想法

前天被同事拉去面试了&#xff0c;一天面试很多人&#xff0c;很是疲惫。之前在小米的5年&#xff0c;也总是被组长拉去当面试官。虽然我个人已经对这种事很厌倦了&#xff0c;但在面试过程中获得的一些收获还是不错的。今天也就从面试官的角度来给一些小建议。 事先声明哈&…

【数学建模】机器人避障问题

已知&#xff1a; 正方形5的左下顶点坐标 ( 80 , 60 ) (80,60) (80,60)&#xff0c;边长 150 150 150机器人与障碍物的距离至少超过 10 10 10个单位规定机器人的行走路径由直线段和圆弧组成&#xff0c;其中圆弧是机器人转弯路径。机器人不能折线转弯&#xff0c;转弯路径由与…

单输入多输出(SIMO)和多输入多输出(MIMO)模型

我列举了一些单输入多输出&#xff08;SIMO&#xff09;和多输入多输出&#xff08;MIMO&#xff09;模型的例子&#xff1a; 单输入多输出&#xff08;SIMO&#xff09;模型&#xff1a; 股票价格预测&#xff1a;在这个例子中&#xff0c;输入可能是某只股票的历史价格数据…

武汉星起航:自运营团队力创佳绩,年流水千万展跨境新高度

在风起云涌的跨境电商领域中&#xff0c;武汉星起航电子商务有限公司凭借其卓越的自运营能力&#xff0c;成为一颗璀璨的明星。而这背后&#xff0c;离不开一支专业性极强、拥有多年自运营经验的团队。他们凭借深厚的行业积累与不懈的拼搏精神&#xff0c;成功在亚马逊平台上打…

《6G数据面架构研究》

目录 一、数据服务的定义二、6G数据服务驱动力及面临的挑战6G数据服务的业务驱动6G数据服务的技术驱动6G数据服务的网络内在驱动6G数据面面临的挑战 三、6G数据服务典型场景自动化网络运维用户体验提升通信感知数据服务 四、6G数据面架构研究数据面架构视图功能定义说明&#x…

比较鸿蒙应用中MVVM与MVP模式在处理数据流、响应用户事件以及职责划分上的异同?

鸿蒙应用中MVVM与MVP模式的异同比较&#xff1a; 数据流处理&#xff1a; MVVM&#xff1a; 数据流从Model流向ViewModel&#xff0c;通过数据绑定机制&#xff08;如ObservableField、LiveData等&#xff09;自动同步到View。ViewModel持有Model的引用&#xff0c;监听数据变…

图深度学习——1.介绍

1、介绍 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对在某种意义上是“相关的”&#xff08;存在某种关系&#xff09;。这些对象对应于称为顶点的数学抽象&#xff08;也称为节点或点&#xff09;&#xff0c;并且每个相关的顶点对都称为边&…

视频批量采集下载爬取软件|短视频爬虫提取工具

轻松获取视频&#xff01;视频批量下载神器问世 在日常工作中&#xff0c;我们经常需要大量的视频资源来支持各种需求&#xff0c;但传统的获取方式通常耗时费力&#xff0c;一个一个复制链接下载实在效率太低。为了解决这一难题&#xff0c;我们自主研发了一款强大的短视频批…

分类预测 | Matlab实现KPCA-ISSA-LSSVM基于核主成分分析和改进麻雀优化算法优化最小二乘支持向量机分类预测

分类预测 | Matlab实现KPCA-ISSA-LSSVM基于核主成分分析和改进麻雀优化算法优化最小二乘支持向量机分类预测 目录 分类预测 | Matlab实现KPCA-ISSA-LSSVM基于核主成分分析和改进麻雀优化算法优化最小二乘支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述…

flex上下固定中间占固定高度(中间左右菜单)且内容自动滚动

效果图 布局&#xff1a; <view class"pop_tSet"><view class"pop_Con"><view class"box_bb"><view class"bb_title">{{titleObj[popType]}}</view></view><view class"box_bb_bot"…