【笔试题】迈入offer的新大门

1. 笔试题1
1.1 题目链接:[NOIP2010]数字统计_牛客题霸_牛客网
1.2 题目描述

 补充:

1.3 解法
1.3.1 算法思路

定义变量,L,R,count用于记数。

对规定符合区域范围内的数据进行遍历,对每个数据的每一位进行判断是否为2,若为2则count++,最后打印count即可。

1.3.2 示例代码(C++):
#include <iostream>
using namespace std;int main() {int L, R, count = 0;cin >> L >> R;for (int i = L; i <= R; i++)//遍历总的数据{int n = i;//while (n > 0)//统计2出现的个数{if (n % 10 == 2)count++;n /= 10;}}cout << count << endl;
}

错误代码:

#include <iostream>
using namespace std;int main() {int L,R,count=0;cin>>L>>R;for(int i=L;i<=R;i++){while(i>0){if(i%10==2)count++;i/=10;}}cout<<count<<endl;
}

为啥错?

首先在while循环里,i被一直改变,原始的i已经更新,你在进行i++,显然数据已经约之千里。

1.3.2 示例代码(java):

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{public static void main(String[] args) {Scanner in = new Scanner(System.in);int l = in.nextInt(), r = in.nextInt();int ret = 0;for(int i = l; i <= r; i++){int tmp = i;while(tmp != 0){if(tmp % 10 == 2) ret++;tmp /= 10;}}System.out.println(ret);}
}
2. 笔试题2
2.1 题目链接:两个数组的交集_牛客题霸_牛客网
2.2 题目描述

补充: 

 2.3 解法
2.3.1 算法思路

定义 哈希数组hash[1010]={false},i,j用于遍历两个数组,创建一个数组nums3用于存储连数组都出现过的元素。

首先使用哈希,此哈希并非哈希,而是用数组模拟。依次遍历元素进行比较,如果两个数组中都出现过,则将哈希中对应出现过的数改为true,最后在遍历哈希数组,将对应数组值为true的尾插到数组nums3中,最后直接返回nums3即可。

2.3.2 示例代码(C++):自己写的,代码较冗余,易理解
class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {vector<int> nums3;bool hash[1001]={false};int len1=nums1.size();int len2=nums2.size();int m=0;for(int i=0;i<len1;i++){for(int j=0;j<len2;j++)if(nums1[i]==nums2[j]){hash[nums1[i]]=true;//出现过break;}}for(int i=1;i<=1000;i++){if(hash[i]==true)nums3.push_back(i);}return nums3;}
};

另一版本:

class Solution
{bool hash[1010] = { 0 };
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2){vector<int> ret;for (auto x : nums1){hash[x] = true;}for (auto x : nums2){if (hash[x]){ret.push_back(x);hash[x] = false;}}return ret;}
};

2.3.3 示例代码(java):

import java.util.*;
public class Solution
{public ArrayList<Integer> intersection (ArrayList<Integer> nums1, 
ArrayList<Integer> nums2){boolean[] hash = new boolean[1010];for(int x : nums1){hash[x] = true;}ArrayList<Integer> ret = new ArrayList<>();for(int x : nums2){if(hash[x]){ret.add(x);hash[x] = false;}}return ret;}
}
3. 笔试题3
3.1 题目链接:点击消除_牛客题霸_牛客网
3.2 题目描述

补充: 

3.3 解法 
3.3.1 算法思路

借助数据结构(栈),先进先出特点,循环入栈,入栈前判断栈是否为空,为空直接入栈,否则再取栈顶元素与字符比较,如相等则直接出栈,不相等则继续入栈。最后string元素结束时将剩余元素出栈进行逆置。

3.3.2 示例代码(C++):
#include <iostream>
#include<stack>
#include<string>
#include<algorithm>
using namespace std;int main() {stack<char> st;string s1,s2="";cin>>s1;for(auto& ch:s1){if(st.empty()) st.push(ch);else{if(st.top()==ch){st.pop();}else{st.push(ch);}}}while(!st.empty()){s2.push_back(st.top());st.pop();}reverse(s2.begin(),s2.end());if(s2.empty())cout<<0<<endl;else{cout<<s2<<endl;}
}
#include <iostream>
2 #include <string>
3
4 using namespace std;
5
6 int main()
7 {
8 string s, st;
9 cin >> s;
10
11 for(auto ch : s)
{if(st.size() && st.back() == ch) st.pop_back();else st += ch;}cout << (st.size() == 0 ? "0" : st) << endl;return 0;
}

 3.3.3 示例代码(java):

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{public static void main(String[] args) {Scanner in = new Scanner(System.in);char[] s = in.next().toCharArray();StringBuilder st = new StringBuilder();for(int i = 0; i < s.length; i++){char ch = s[i];if(st.length() != 0 && ch == st.charAt(st.length() - 1)){// 出栈st.deleteCharAt(st.length() - 1);}else{// 进栈st.append(ch);}}System.out.println(st.length() == 0 ? 0 : st.toString());}
}

你的支持就我创作的动力!!!

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

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

相关文章

Gitee push 文件

1、背景 想将自己的plecs仿真放到git中管理&#xff0c;以防丢失&#xff0c;以防乱改之后丢失之前版本仿真。此操作说明默认用户已下载git。 2、操作步骤 2.1 开启Git Bash 在文件夹中右键&#xff0c;开启Git Bash。 2.2 克隆文件 在Git Bash中打git clone git地址&#…

【AIGC】2024-arXiv-Lumiere:视频生成的时空扩散模型

2024-arXiv-Lumiere: A Space-Time Diffusion Model for Video Generation Lumiere&#xff1a;视频生成的时空扩散模型摘要1. 引言2. 相关工作3. Lumiere3.1 时空 U-Net (STUnet)3.2 空间超分辨率的多重扩散 4. 应用4.1 风格化生成4.2 条件生成 5. 评估和比较5.1 定性评估5.2 …

MySQL高可用MHA

目录 一、MHA概述 1.MHA是什么 2.MHA的组成 3.MHA特点 4.MHA工作原理 二、MySQL部署MHA 1.配置主从复制 2.配置MHA高可用 2.1所有服务器安装MHA依赖环境 2.2所有服务器上安装node组件 2.3在MHA manager节点上安装manager组件 2.4在所有服务器上配置无密码认证 …

聚类算法综述

摘要 聚类算法旨在根据数据中的固有模式和相似性将数据组织成组或簇。它们在当今生活中扮演着重要角色&#xff0c;例如在市场营销和电子商务、医疗保健、数据组织和分析以及社交媒体中。现有众多聚类算法&#xff0c;并且不断有新的算法被引入。每个算法都有其自身的优点和缺…

【网络监控加速设备】国产化一站式高性能数据处理平台(海光CPU+复旦微FPGA)

随着网络流量的飞速增长&#xff0c;数据的监控与管理需求日益加剧。针对这一痛点&#xff0c;一款集协议检测、数据监测、报文转发和结果展示于一体的网络监控加速设备&#xff0c;设备百分之百国产化也体现了完全自主可控。设备不仅具备丰富的网络监控功能&#xff0c;还支持…

确保企业架构与业务的一致性与合规性:数字化转型中的关键要素与战略实施

在现代企业的数字化转型过程中&#xff0c;确保企业架构&#xff08;Enterprise Architecture, EA&#xff09;与企业业务的紧密一致性与合规性至关重要。无论是在战略层面还是运营层面&#xff0c;EA都为企业的未来发展提供了清晰的蓝图&#xff0c;确保企业在应对复杂的业务环…

指数分布的原理和应用

本文介绍指数分布&#xff0c;及其推导原理。 Ref: 指数分布 开始之前&#xff0c;先看个概率密度函数的小问题&#xff1a; 问题描述&#xff1a;你于上午10点到达车站&#xff0c;车在10点到10:30 之间到达的时刻 X 的概率密度函数如图&#xff1a; 则使用分段积分&#xff0…

HTML 基础标签——链接标签 <a> 和 <iframe>

文章目录 1. `<a>` 标签属性详细说明示例2. `<iframe>` 标签属性详细说明示例注意事项总结链接标签在HTML中是实现网页导航的重要工具,允许用户从一个页面跳转到另一个页面或嵌入外部内容。主要的链接标签包括 <a> 标签和<iframe> 标签。本文将深入探…

Windows部署rabbitmq

本次安装环境&#xff1a; 系统&#xff1a;Windows 11 软件建议版本&#xff1a; erlang OPT 26.0.2rabbitmq 3.12.4 一、下载 1.1 下载erlang 官网下载地址&#xff1a; 1.2 下载rabbitmq 官网下载地址&#xff1a; 建议使用解压版&#xff0c;安装版可能会在安装软件…

自适应对话式团队构建,提升语言模型代理的复杂任务解决能力

人工智能咨询培训老师叶梓 转载标明出处 如何有效利用多个大模型&#xff08;LLM&#xff09;代理解决复杂任务一直是一个研究热点。由美国南加州大学、宾夕法尼亚州立大学、华盛顿大学、早稻田大学和谷歌DeepMind的研究人员联合提出了一种新的解决方案——自适应团队构建&…

“游戏人”也能拿诺贝尔奖!

“游戏人”也能拿诺贝尔奖&#xff01; 点击蓝链领取游戏开发教程 2024年度的诺贝尔奖&#xff0c;堪称AI深刻影响传统科学领域的一次生动展现。在这一年里&#xff0c;备受瞩目的诺贝尔物理学奖与诺贝尔化学奖两大核心奖项&#xff0c;均颁给了在AI领域做出杰出贡献的研究者…

获取环境变量 getenv小心有坑!

一、背景 在工作中&#xff0c;所做的项目需要涉及两个不同语言( P/Invoke)的信息传递。最后选定了一种环境变量的传递方式&#xff0c;但这也遇到了getenv带来的大坑&#xff01; 1.1 问题现象 我们在C#的exe主流程中通过DllImport&#xff0c;对环境变量进行了设置。随后我…

告别登录,这款插件直接复制CSDN内容,真棒!

前言 我们在开发过程中&#xff0c;肯定会遇到这样或者那样的问题&#xff0c;这时候&#xff0c;我们想到最多的就是用搜索引擎去搜索各种资料&#xff0c;查看各种博客。以前&#xff0c;查看博客是很方便的&#xff0c;不过后来&#xff0c;像CSDN的&#xff0c;就是必须要…

为Meta Spark准备3D模型

有许多工具可以帮助你为 Meta Spark Studio 创建 3D 对象&#xff0c;包括 Cinema4D、Blender 和 3ds Max。你还可以使用 Meta Spark Toolkit 优化 Blender 对象。 在本指南中&#xff0c;我们将介绍正确的设置&#xff0c;以便你可以成功地为 Meta Spark Studio 准备对象&…

poi处理excel文档时,与lombok的@Accessors(chain = true)注解冲突

poi在反射封装数据时会判断set方法的返回是不是Void&#xff0c;加上Accessors会造成NoSuchMethodException异常

bash: git: command not found

在windows上重新安装Git之后&#xff0c;遇到cmd可以使用git命令&#xff0c;但是git bash中使用的git命令的时候&#xff0c;会提示&#xff1a; $ git bash: git: command not found 解决办法 找到用户目录下的.bash_profile和.bashrc文件&#xff0c;编辑打开&#xff0c;找…

DFA算法实现敏感词过滤

DFA算法实现敏感词过滤 需求&#xff1a;检测一段文本中是否含有敏感词。 比如检测一段文本中是否含有&#xff1a;“滚蛋”&#xff0c;“滚蛋吧你”&#xff0c;“有病”&#xff0c; 可使用的方法有&#xff1a; 遍历敏感词&#xff0c;判断文本中是否含有这个敏感词。 …

Java 正则表达式一口气讲完!b( ̄▽ ̄)d

Java 正则表达式元字符 Java正则表达式教程 - Java正则表达式元字符 元字符是在Java正则表达式中具有特殊含义的字符。 Java中的正则表达式支持的元字符如下: ( ) [ ] { } \ ^ $ | ? * . < > - ! 字符类 元字符 [和] 指定正则表达式中的字符类。 字符类是一组字…

(实战)WebApi第10讲:Swagger配置、RESTful与路由重载

一、Swagger配置 1、导入SwashBuckle.AspNetCore包 2、在.NET Core 5框架里的startup.cs文件里配置swagger 3、在.NET Core 6框架里的Program.cs文件里配置swagger 二、RESTful风格&#xff1a;路由重载&#xff0c;HttpGet()括号中加参数 &#xff08;1&#xff09;原则&…

【进阶sql】复杂sql收集及解析【mysql】

开发时会出现&#xff0c;必须写一些较复杂sql的场景 可能是给会sql的客户 提供一些统计sql 或是临时需要统计数据信息但是 开发一个统计功能有来不及的情况 也可能是报表系统组件 只支持 sql统计的情况 特地记录下这些sql 作为积累 substring 截取查询出的字符串&#xff…