草庐IT

真题答案

全部标签

HashMap很美好,但线程不安全怎么办?ConcurrentHashMap告诉你答案!

写在开头在《耗时2天,写完HashMap》这篇文章中,我们提到关于HashMap线程不安全的问题,主要存在如下3点风险:风险1:put的时候导致元素丢失;如两个线程同时put,且key值相同的情况下,后一个线程put操作覆盖了前一个线程的操作,导致前一个线程的元素丢失。风险2:put和get并发时会导致get到null;若一个线程的put操作触发了数组的扩容,这时另外一个线程去get,因为扩容的操作很耗时,这时有可能会卡死或者get到null。风险3:多线程下扩容会死循环;多线程下触发扩容时,因为前一个线程已经破坏了原有链表结构,后一个线程再去读取节点,进行链接的时候,很可能发生顺序错乱,从而

CCF-CSP真题《202312-4 宝藏》 C++ STL暴力做法(可拿35分)

        第一次参加CSP,分数不是很高,但是考试之后还是想做一下考题练习一下,感觉第四题思路比第三题更直观一点,所以尝试了一下。题目如下:        题目中给出的测试样例,实测七个中前三个都可以通过,后四个由于样例过大过多,导致WindowsTerminal会崩溃,所以无法完成测试。    代码中,操作使用map>op来存储,第一个int表示操作的编号,第二个int表示每个操作中的操作码(1,2,3),matrix为输入的矩阵(当操作码为3时不需要输入矩阵)。当需要输出密码时,deque>dq用来存储生成密码的矩阵,其中int用来表示存入dq的矩阵的次序先后,matrix表示当前矩

【华为OD】C卷真题 100%通过:螺旋数字矩阵 JS语言代码实现【思路+代码】

  C语言、C++、java、python代码实现链接:【华为OD】C卷真题100%通过:螺旋数字矩阵C语言代码实现【思路+代码】-CSDN博客【华为OD】C卷真题100%通过:螺旋数字矩阵C/C++语言代码实现【思路+代码】-CSDN博客 【华为OD】C卷真题100%通过:螺旋数字矩阵Java语言代码实现【思路+代码】-CSDN博客【华为OD】C卷真题100%通过:螺旋数字矩阵Python语言代码实现【思路+代码】-CSDN博客题目描述疫情期间,小明隔离在家,百无聊赖,在纸

华为OD机试真题-素数之积-2023年OD统一考试(C卷)

题目描述:RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。输入描述:一个正整数num0输出描述:如果成功找到,以单个空格分割,从小到大输出两个素数,分解失败,请输出-1-1示例1输入:15输出:35说明:因数分解后,找到两个素数3和5,使得3*5=15,按从小到大排列后,输出35示例2输入:27输出:-1-1说明:通过因数分解,找不到任何素数,使得他们的乘积为27,输出-1-1解题思路:考察递归,使用循环判断数值范围解答。C++解法: #includeusingnamespace

2024年蓝桥杯嵌入式经验分享(附往届真题和蓝桥杯自己整理的嵌入式资料)

1:关于蓝桥杯嵌入式组:  蓝桥杯嵌入式组比赛主要考察的是STM32相关的编程知识,涉及选择题的电子学科基础知识和编程大题实机操作。与蓝桥杯的其他纯软件组(如C、Java等)不同,嵌入式组更偏向硬件,要求参赛者具备模拟/数字电子技术基础、ARMCortexM4硬件资源和软件编程与调试等知识。  在比赛中,选手可以选择使用组委会下发至赛点的嵌入式竞赛平台新版本(STM32G431RBT6微控制器)或自带嵌入式竞赛平台旧版本(STM32F103RBT6微控制器)参加比赛。其中,G4系列是官方主推的平台,如果还没有购买开发板,建议购买G4系列进行学习。  在准备比赛时,参赛者需要了解并掌握STM32

2023年十四届蓝桥杯省赛大学B组真题(Java完整版)

2023年十四届蓝桥杯省赛大学B组真题试题A:阶乘求和本题总分:5分【问题描述】令S=1!+2!+3!+…+202320232023!,求S的末尾9位数字。提示:答案首位不为0。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。答案:420940313【解题思路】对于数据量大的计算题,可以先尝试把每一步的数据结果展示出来,分析规律,而这题恰巧在某一个位置后,末尾9位数字全为0,在此之前的结果就是答案,过程中记得对每个值都进行取余,否则可能会导致数值出错,得不到正确答案。【代码】packagezhenti_2

华为od德科面试数据算法真题解析-专栏必看-

个人寄语:准备面试华为外包德科,记录一下一些面试题;牛客网代码提交的坑,可以看一下下面的第一道题,ide本地编译通过,牛客网死活不通过,提交代码提示:返回非0。原因分析  查询得知,结果非零的意思的代码退出的时候不是以正常的0退出的,而是非0状态,也就是代码出错了百思不得其解,到底为什么?平常写函数的时候,遇到特定条件,直接return返回,那return后面的代码将不会被执行,看到有一个C++代码网友反馈说return会被牛客网shell提交框替换成print,意思是会给你重新编排一次。这时候return就会出问题,return后面的代码会继续执行。所以个人建议写代码不要写方法,直接写在ma

成考题不会怎么搜答案?分享六个搜题直接出答案的软件 #职场发展#职场发展#经验分享

作为大学生,我们应该善于利用各种学习工具,提高学习效率和质量。1.好大学在线好大学在线是上海交通大学拥有的中国顶尖慕课平台。依托该平台,上海交通大学与百度及金智教育实施战略合作,致力于在互联网教育时代发展在线教育,让所有人,都能上最好的大学。好大学在线的愿景是让所有人都能上最好的大学,提供优质课程教学、第二专业系列课程教学、高端培训系列课程以及相关在线教育产品的服务。2.千鸟搜题这是一个公众号几乎是涵盖了大学所有学科的作业答案,很厉害的是,书本教材和网课答案,它都有!下方附上一些测试的试题及答案1、XX02GG011366.下面那个语句不会引起排序()A.distinctB.unionallC

华为OD机试真题-CPU算力分配-2023年OD统一考试(C卷)

题目描述:现有两组服务器A和B,每组有多个算力不同的CPU,其中A[i]是A组第i个CPU的运算能力,B[i]是B组第i个CPU的运算能力。一组服务器的总算力是各CPU的算力之和。为了让两组服务器的算力相等,允许从每组各选出一个CPU进行一次交换,求两组服务器中,用于交换的CPU的算力,并且要求从A组服务器中选出的CPU,算力尽可能小。输入描述:第一行输入为L1和L2,以空格分隔,L1表示A组服务器中的CPU数量,L2表示B组服务器中的CPU数量。第二行输入为A组服务器中各个CPU的算力值,以空格分隔。第三行输入为B组服务器中各个CPU的算力值,以空格分隔。1111输出描述:对于每组测试数据,

java - 为什么拆分 `(?!^)` 和 `(?<!^)` 会产生相同的答案?

下面两行代码:System.out.println(Arrays.toString("test".split("(?每个产生相同的输出:[t,e,s,t]我预计底线会产生[,t,e,s,t]因为它应该愿意在^之后和t之前拆分。有人可以指出我的想法错在哪里吗? 最佳答案 (?!^)匹配任何不在字符串开头的位置,就像(?.自^anchor没有任何长度,无论你向前看还是向后看都无关紧要。想象一下字符串test像这样|表示字符之间的位置:|t|e|s|t|^matcheshere($matcheshere)(?!^)在位置0不匹配因为当向前