- 博客(24)
- 收藏
- 关注
原创 【洛谷学习自留】p5707 上学迟到
1.先用给出的时间和速度(如果无法整除,则时间加一),计算出时间(分),然后将时间加上10分钟。2.创建一个计时器,设置一个日期,保证时分秒部分,分别为8,0,0。然后用计时器减去第一步求得的时间,得到最终的时间。3.创建一个格式化输出对象,输出最终时间的H和m部分。
2024-02-27 20:01:06
674
原创 【洛谷学习自留】p2692 覆盖
最开始,我的思路是建立一个boolean类型的二维数组,通过for循环将每个被男生打扫过的元素设置为true,并让计数器加一,然后另开for循环,如果当前元素不为真,且在女生打扫的范围内,则设置为true,并让计数器加一,最后计算将计数器的值输出。思路确实是正确的,但由于使用了三层嵌套for循环,导致运行超时。于是我换了一种思路。因为男生和女生,一旦打扫,就是打扫整行,也就是男生和女生打扫的区域分别是一个矩形,那么,只要我们算出两个矩形的面积和,再减去重合部分的面积,就是打扫的区域的面积。
2024-01-16 21:46:25
707
原创 【洛谷学习自留】p8833 课程
没什么难度,定义个计数器,初始值为0,双层for循环遍历两个数组,如果有相同的值,计数器加一。遍历完成后,输出计数器的值。
2023-12-25 19:05:43
1005
1
原创 【洛谷学习自留】p6581 远大目标
绝对值的问题,既然O是固定的,直接传入值考虑乘以二减一的思路,考虑到数值越界,使用BigInteger作为数据类型,因为A值可能为0或为负数,所以加上判断,如果A为0或为负,则直接输出0,否则输出O*2-1的值。
2023-12-24 17:33:06
518
1
原创 【算法】 求某一天是当年的第几天
给定一个输入,分别是年份、月份、日期,当输入是闰年时,二月有29天,否则二月是28天。最终返回一个整数值。
2023-12-23 18:36:45
1066
1
原创 【洛谷学习自留】p8823 期末考试成绩
简单的分情况讨论题目,由于最多只会重新计算一次分数,甚至不需要使用递归。但正常情况下,我们一般会先从大于90的情况依次往下判断,但为了提高性能,我们可以这样处理。根据题目可知,当x<60时,会进行一次开方乘十的运算,然后用运算结果重新进行一次计算,那么我们不如直接进行一次是否小于60的判断,判断完了,如果小于60,就进行sqrt(x),然后再进行是否大于等于90的判断。判断完成后再判断是否大于等于60。这样说起来感觉很绕,直接上代码。
2023-12-22 20:16:26
748
原创 【洛谷学习自留】b3684 不可以,总司令
不要被超长的题目内容混淆了视线,本质上就是一个比大小的问题。两个输入,判断哪个值更大,然后输出相应的内容。
2023-12-21 18:49:00
858
原创 【洛谷学习自留】p5705 数字反转
简单的字符串拼接,使用split()方法把整数和小数部分分割开来,最大的问题在于怎么把整数部分反转。有两种思路:1.用for循环把整数部分的个位十位百位全部拿下来,然后个位乘100,十位乘10,再将新的个十百位相加。2.建立一个char类型的数组,将整数部分使用toCharArray()方法存进数组,然后依次将数组的末位索引输出。
2023-12-20 20:27:18
599
1
原创 【洛谷学习自留】p5534 等差数列
题目给出了这个等差数列的第一项和第二项,相当于把公差给出来了,第二项减第一项就是公差,然后用计算等差数列各项之和的公式Sn=a1*n+[n*(n-1)*d]/2,输出计算结果。
2023-12-20 20:14:35
497
1
原创 【洛谷学习自留】p5708 三角形面积
简单的计算,可以使用Math类的sqrt( )方法开平方,唯一需要考虑的就是保留小数部分的问题。这里使用了String的format方法。
2023-12-20 18:50:49
649
1
原创 【洛谷学习自留】p1427 小鱼的数字游戏
两个简单的for循环,这次采用最笨的办法,建一个大于10000的数组,依次将录入值放进数组用一个count变量存储数组的长度,当arr[i]==0时,直接退出录入循环,然后进入第二层循环,用count作为循环次数,从数组的最后一个元素开始向前输出。注意记得把数组最后的零给忽略掉。
2023-12-19 21:00:14
438
1
原创 【洛谷学习自留】p1615 西游记公司
在分析后,该题目就是给定两个时间,判断两个时间的秒数差值,然后用这个时间差值乘以每秒可以拿取的笔记本的数量。没什么难度。注意,题目的使用int型会超出范围,可以使用long类型。
2023-12-19 19:35:04
412
1
原创 【算法练习】删除数列中的指定数
先创建一个数组来存储数值,因为java的数组长度一旦确定,一般情况下是不能修改的,但要实现数组连贯的效果,最好的办法就是创建一个新数组。
2023-12-18 20:55:10
1243
1
原创 【洛谷学习自留】p4445 报名签到
任意两个人之间都要保持距离,也就是说,假如有个ai=2的人,紧挨着ai=3的人,只要两人之间的距离满足ai=3的要求就行,因为当距离等于3的时候,距离一定大于2,也就是任意两个人之间,谁的要求距离远,就保持多远距离。本质上就变成了遍历数组,求每组相邻元素之间的最大值的问题。
2023-12-17 19:48:53
205
1
原创 【洛谷学习自留】p2669 金币
使用for循环,直到循环n次,一金币持续了1天,两金币持续了2天,也就是k金币持续k天,每持续k天,金币数量加1,也就是每循环k次,k的值加一。
2023-12-16 20:00:14
383
1
原创 【洛谷学习自留】p2033 A*B问题
文章中提到了数据类型的选择,所以要考虑到数值越界的问题,因为a和b的最大取值范围都是50000,也就是说结果可能会大于int类型的存储空间,所以。应该考虑更大的整数类型,long类型或者BigInteger类型。
2023-12-15 20:07:29
118
原创 【洛谷学习自留】P5743 猴子吃桃
题目给出了最后一天的桃子剩余数量为1,且输入的值只有一个整数,也就是说,每一个整数都只对应一个结果。使用反推的方式去求出结果。先定义一个变量count并赋值为1,使用Scanner录入天数,然后使用for循环,循环体内每次将count自加一,然后将count乘以2,并赋值给自己(注意,循环的次数应当为录入的天数减1。
2023-12-15 19:49:02
187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人