编程题目
dxwell6
这个作者很懒,什么都没留下…
展开
-
再写错二分法的边界,你就来打我!
二分法是非常常用的搜索方法,但是在写代码的时候,很容易搞错边界问题,本文针对这个问题进行解决,并推出二分法常用的模板原创 2021-08-01 19:31:17 · 129 阅读 · 0 评论 -
巴什博奕
题目描述 解法思路 这类题目都有通用解法,可以考虑n个石头,每次被对方拿走1-m个石头,拿到最后一个的赢 如果当n = (m + 1) * k时,假设先手的人拿s个石头,s在1-m这个范围内,那么后手的人只需要拿m+1-s个石头,循环k个轮回,后手的人一定赢 如果n = (m + 1) * k + i时,先手的人拿i个石头,还剩下m+1个石头,又变成上面的情况了,只不过这时先手后手换了位置,先手一定赢 代码 public class Solution { public boolean canWin原创 2021-04-18 21:29:52 · 102 阅读 · 0 评论 -
挑战不用加法运算符+号实现两数之和
既然不能直接使用运算符+号,那么肯定就是用位运算来实现两数之和了A+B 先回顾一下一些位运算知识 异或运算 首先,异或就是两数不同则为1,相同则为0,如表格所示。不难发现,两个一位二进制进行异或可以表示这两个二进制的和,但是没有进位。 而两个整数的异或就是两个整数在每一个二进制位上进行相加,没有进位 数1 数2 异或结果 0 0 0 0 1 1 1 0 1 1 1 0 与运算 那么进位怎么表示呢,只有两个二进制数都为1时,相加起来才有进位,因此我们可以用两个整数相与来表示进位原创 2021-04-18 19:27:34 · 386 阅读 · 0 评论 -
2020-09-2 CCF计算机软件能力认证真题练习:风险人群筛查——java实现
输入样例1 5 2 6 20 40 100 80 100 80 100 80 100 80 100 80 100 80 100 80 60 50 60 46 60 42 60 38 60 34 60 30 10 60 14 62 18 66 22 74 26 86 30 100 90 31 94 35 98 39 102 43 106 47 110 51 0 20 4 20 8 20 12 20 16 20 20 20 输出样例1 3 2 输入样例2 1 3 8 0 0 10 10 -1 -1 0 .原创 2021-03-09 14:58:40 · 192 阅读 · 0 评论 -
2020-09-1 CCF计算机软件能力认证真题练习:称检测点查询
2020-09CCF题目一 2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。 某市设有n个核酸检测点,编号从1到n,其中i号检测点的位置可以表示为一个平面整数坐标(xi, yi)。 为方便预约核酸检测,请根据市民所在位置(X, Y),查询距其最近的三个检测点。 多个检测点距离相同时,编号较小的视为更近。 输入 输入共n+1行。 第一行包含用空格分隔的三个整数n、X和Y,表示检测点总数和市民所原创 2021-03-09 12:43:58 · 253 阅读 · 0 评论