笔试编程-百战成神——Day01

news2024/9/27 17:33:50

1.数字统计

题目来源:数字统计——牛客网

测试用例 

算法原理 

根据题目我们知道,首先要输出两个数字确定一个区间,寻找这个区间内数字中所有包含2的个数,比如12包含一个2,22包含两个2,以此类推,所以我们的思路就是不断将区间内数字模10后继续除以10寻找该数字中的所有2,最后返回2的个数即可,整体难度简单建议直接秒杀

实战演练  

#include <iostream>
using namespace std;

int main()
{
    int l,r;
    cin>>l>>r;
    int sum = 0;
    //注意for循环这里需要<=r,避免遗漏数据
    for(int i = l;i <= r;i++)
    {
        //借助临时变量tmp来统计个数
        //避免直接修改i
        int tmp = i;
        while(tmp)
        {
            //使用模运算统计2的个数
            if(tmp % 10 == 2)
            {
                sum++;
            }
            //逐位统计2
            tmp /= 10;
        }
    }
    cout<<sum<<endl;

    return 0;
}

2.两个数组的交集

题目来源:两个数组的交集——牛客网

测试用例 

算法原理 

本题的核心思路是哈希表,不过由于题目数据量较小,所以我们使用数组来替代,但是作用是相通的

1.首先创建一个布尔类型的哈希表,遍历第一个数组后将出现过的数字的位置设置为true,反之没出现的设置为false

2.然后使用这个哈希表去第二个数组比较,当第二个数组中的元素在相同的位置同样为true则代表是重复元素,此时就将其插入到vector容器中

注意:当重复字符为nums1{2,2,2,2} nums1{1,2,2}这样的类型时,我们只用返回{2}即可,所以接下来需要进行去重操作,即在遍历第二个数组时出现重复元素,在插入后需要将该元素所在的哈希表位置置为false,避免重复

 实战演练

class Solution 
{
private:
    //数据小于1000,所以直接开辟1001大小的数组即可
    bool hash[1001] = {0};
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) 
    {
        vector<int> v;
        //遍历第一个数组修改哈希表
        for(auto e : nums1)
        {
            hash[e] = true;
        }

        //遍历第二个数组寻找重复元素
        for(auto ch : nums2)
        {
            if(hash[ch] == true)
            {
                //查找到重复元素后插入
                v.push_back(ch);
                //去重
                hash[ch] = false;
            }
        }
        return v;
    }
};

3.点击消除

题目来源:点击消除——牛客网

测试用例 

算法原理 

本题的知识点主要是考验栈的运用,如果之前做过括号内道题的话就很容易做出本题 这里我们使用一个string类来模拟栈,因为都是对尾部进行操作,所以减少一定消耗

1.首先输入一个字符串后,这时对另一个字符串进行尾插

2.当这时要插入的元素与模拟栈的字符串尾部元素相同,就要进行模拟出栈操作,即将模拟栈尾删即可,最后返回模拟栈,这时的模拟栈就是剩下的元素

 实战演练

#include <iostream>
#include<string>
using namespace std;

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

    for(int i = 0;i < s.size();i++)
    {
        if(s[i] != st.back())
        {
            //与栈顶元素不相同就入栈
            st.push_back(s[i]);
        }
        else 
        {
            //与栈顶元素相同就出栈
            st.pop_back();
        }
    }
    if(st.empty())
    {
        cout<<0<<endl;
    }
    else 
    {
        cout<<st<<endl;
    }

    return 0;
}

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

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

相关文章

问题记录:end value has mixed support, consider using flex-end instead

一、问题记录 二、解决问题 根据提示改为flex-end 三、理解问题 ‌这个警告信息表明&#xff0c;在Flex布局中使用“end”属性时存在兼容性问题&#xff0c;建议使用“flex-end”代替。 当在Flex布局中使用“justify-content: end;”时&#xff0c;浏览器可能对“end”值的支…

嵌入式C语言的自我修养:内存泄漏与防范

内存泄漏与防范 一个内存泄漏的例子 如果我们使用malloc()申请的内存在使用结束后没有及时被释放&#xff0c;则C标准库中的内存分配器ptmalloc和内核中的内存管理子系统都失去了对这块内存的追踪和管理。 #include <stdlib.h> int main(void){ char *p; p(char *)mal…

plt常用函数介绍一

目录 前言plt.figure()plt.subplot()plt.subplots()plt.xticks()plt.xlim() 前言 Matplotlib是Python中的一个库&#xff0c;它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口。在Pyplot中可以使用各种图&#xff0c;例如线图&#xff0c;轮廓图&#…

C++独立开发开源大数计算库 CBigNum

项目简介&项目地址 CBigNum 是本人独立开发开源的一款大数计算库&#xff0c;支持任意位数整数带任意位数小数的浮点运算。您可以通过本库执行非常大的数据运算或非常高精度的除法运算(您可以随意指定除法的小数保留到第几位)以及各种科学计算(详见1.3)。 项目地址&#…

数字电路基础(锁存器+触发器)+Proteus仿真

1.锁存器 1.1.基本概念 1.1.1基本双稳态电路 下面电路中&#xff0c;具有0、1两种逻辑状态&#xff0c;一旦进入其中一种状态&#xff0c;就能长期保持不变的单元电路称为双稳态存储电路&#xff0c;简称双稳态电路。 锁存器和触发器都属于双稳态电路 该双稳态电路没有输入…

【Godot4自学手册】第四十八节创建雨粒子效果

今天我们要利用GPU粒子节点玩雨粒子效果&#xff0c;下雨天。 一、添加GPU粒子系统 添加GPUParticles2D节点。选择根节点&#xff0c;单击添加按钮&#xff0c;选择GPUParticles2D&#xff0c;完成添加。 二、修改属性 1.设置粒子数量。 在GPUParticles2D检查器中将Amount设…

智慧城市主要运营模式分析

(一)运营模式演变 作为新一代信息化技术落地应用的新事物,智慧城市在建设模式方面借鉴了大量工程建设的经验,如平行发包(DBB,Design-Bid-Build)、EPC工程总承包、PPP等模式等,这些模式在不同的发展阶段和条件下发挥了重要作用。 在智慧城市发展模式从政府主导、以建为主、…

求一个数的因子数(c语言)

1.计算并输出给定整数n的所有因子&#xff08;不包括1与n自身&#xff09;之和。规定n的值不大于1000。&#xff08;因子是能整除n的数 即n%i0&#xff09; // 例如&#xff0c;在主函数中从键盘给n输入的值为856&#xff0c;则输出为: sum763。 2.第一步我们先输入n的数&…

C++深入学习string类成员函数(1):默认与迭代

引言 在 C 编程中&#xff0c;std::string 类是处理字符串的核心工具之一。作为一个动态管理字符数组的类&#xff0c;它不仅提供了丰富的功能&#xff0c;还通过高效的内存管理和操作接口&#xff0c;极大地方便了字符串操作。通过深入探讨 std::string 的各类成员函数&#…

【java21】java21新特性之简单的Web服务器jwebserver

jwebserver是Java 18中引入的一个全新功能点&#xff0c;它允许用户通过命令行工具快速启动一个提供静态资源访问的迷你Web服务器。这个服务器不支持CGI和Servlet&#xff0c;因此其主要用途是轻量级的静态文件服务&#xff0c;如HTML、CSS、JavaScript和图片等。 其实在如Pyt…

热源检测系统源码分享

热源检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

大语言模型之LlaMA系列- LlaMA 2及LLaMA2_chat(上)

LlaMA 2是一个经过预训练与微调的基于自回归的transformer的LLMs&#xff0c;参数从7B至70B。同期推出的Llama 2-Chat是Llama 2专门为对话领域微调的模型。 在许多开放的基准测试中Llama 2-Chat优于其他开源的聊天模型&#xff0c;此外Llama 2-Chat还做了可用性与安全性评估。 …

大数据 flink 01 | 从零环境搭建 简单Demo 运行

什么是Flink Flink是一个开源的流处理和批处理框架,它能够处理无界和有界的数据流&#xff0c;具有高吞吐量、低延迟和容错性等特点 Flink 可以应用于多个领域如&#xff1a;实时数据处理、数据分析、机器学习、事件驱动等。 什么是流式处理&#xff1f;什么是批处理 流处理…

Python 如何使用 unittest 模块编写单元测试

Python 如何使用 unittest 模块编写单元测试 单元测试是软件开发过程中的重要环节&#xff0c;它帮助开发者验证代码的正确性&#xff0c;确保功能按预期工作。Python 提供了一个强大的内置模块 unittest&#xff0c;使得编写和执行单元测试变得非常方便。本文将深入探讨如何使…

计算机组成原理(笔记5原码和补码的乘法以及直接补码阵列乘法器 )

原码一位乘法 手算&#xff1a;过程 令x′|x|0.x1x2…xn-1xn&#xff0c;y′|y|0.y1y2…yn-1yn 同时令乘积P′ |P| x′ y′&#xff0c;有&#xff1a; x′ y′ x′(0.y1y2…yn-1yn) x′ (y12-1y22-2…yn-12-(n-1)yn2-n) 2-1(y1x′2-1(y2x′…2-1(yn-1x′2-1(ynx′0))…))…

使用awvs测试站点并输出漏洞报告教程

环境配置 pikachu靶场 awvs 使用步骤 1.访问本机3443端口&#xff08;安装时自己设定的端口&#xff09; 2.点击【Targets】--》【Add Targets】新建扫描目标&#xff0c;输入目标网址&#xff08;以pikachu靶场为例&#xff09;&#xff0c;点击【Save】开始扫描 2.点击【…

【AI大模型】股票价格预测精度增强,基于变分模态分解、PatchTST和自适应尺度加权层

简介 股票价格指数是金融市场和经济健康的晴雨表&#xff0c;准确预测对投资决策至关重要。股票市场的高频交易和复杂行为使得预测具有挑战性&#xff0c;需开发稳定、准确的预测模型。研究表明&#xff0c;估值比率、数据驱动模型&#xff08;如支持向量机&#xff09;、股票…

机器学习 | 使用scikit-learn学习Python中的PCA(主成分分析)

为什么选择PCA&#xff1f; 当有许多输入属性时&#xff0c;很难将数据可视化。在机器学习领域有一个非常著名的术语“维度诅咒”。基本上&#xff0c;它指的是数据集中的属性数量越多&#xff0c;对机器学习模型的准确性和训练时间产生不利影响。主成分分析&#xff08;PCA&a…

使用Postman工具接口测试

文章目录 一、接口1.1 接口的概念1.2 接口的类型 二、接口测试2.1 概念2.2 原理2.3 特点 三、HTTP协议3.1 http协议简介3.2 URL格式3.3 HTTP请求3.3.1 请求行3.3.2 请求头3.3.3 请求体 3.4 HTTP响应3.4.1 状态行3.4.2 响应头3.4.3 响应体 3.4 传统风格接口3.5 RESTful风格接口 …

二网络复习

软路由&#xff1a; 1. ikuai 实现了一个多宽带线路的一个聚合可用家庭环境 2. Linux通过开启路由转发模拟路由器 &#xff08;仅学习使用&#xff09; #开启路由转发命令 vim /etc/sysctl.conf net.ipv4.ip_forward 1 sys…