一、力扣网站了解
其实吧,两年前的暑假,刘老师就带着我们刷LeetCode180题,但是当时候我只晓得完完整整写一个C源程序文件,突然说让我刷力扣,我连网站意思都看不懂,也就没有刷的动力,自然也就不了了之了,反正之前也就做了五道题。
现在大三快结束了,开始急了,就想捡起数据结构与算法,然后决定跟着英雄哥进行九日集训。其实刷他的视频很久了,但后面我想着真的不要想太多,还是先开始行动吧,也不讲有没有时间,我一天刷一道题都是好的,加油,坚持刷题!
力扣
你已经长大了,要学着自己写测试用例,尤其是注意溢出等问题。
二、今日所学
学习内容:《LeetCode零基础指南》(第一讲) 函数_英雄哪里出来-CSDN博客
C语言中常用的数学函数有:
pow(x,n) | 表示x的n次幂/n次方 |
sqrt(x) | 表示x的算术平方根(非负数的平方根称之为 算术平方根) |
fabs(x) | 表示x的绝对值 |
ceil(x) | 表示向上取整 |
floor(x) | 表示向下取整 |
上述所有数学函数的返回值类型均为double。
三、刷题记录
我的想法很简单:就是num每次对10取余数都是num的最后一个数,因此每取一次余数,我就除以10获取商作为新的num,而要获取反转的数字,则需要上一次的sum乘以10再加当前余数直到商也就是最后的num【sum*10+余数】,就获得了该反转数字。反转两次那就调用两次反转函数呗。当然,如果num是末尾还有0的,例如1800,反转后变成了81,因为0*0=0嘛,第二次反转也就是18,当然与原来数字不相等咯,所以返回false。
如果还是不清楚的话,那咱们就这么看:
当前num值 | 当前余数(num%10) | 上个sum值 | sum(上个sum*10+当前余数) | num/10 |
1800 | 0 | 0 | 0 | 180 |
180 | 0 | 0 | 0 | 18 |
18 | 8 | 0 | 8 | 1 |
1 | 1 | 8 | 81 | 0 |
当前num值 | 当前余数(num%10) | 上个sum值 | sum(上个sum*10+当前余数) | num/10 |
675 | 5 | 0 | 5 | 67 |
67 | 7 | 5 | 57 | 6 |
6 | 6 | 57 | 576 | 0 |
四、总结
效率好低哦,我不管,我要变聪明。
就怎么说呢,不管怎么样,脑子是要动的,要磨的,一步一步来,现在不用太焦虑,内卷也不是一天两天,就别再消耗自己的精神力了,刷题刷得开心点,别带着功利心,当然,除非你有超强的目的性能够坚持不懈地刷下去,那也没问题。像我这种想一出是一出的人,我就当是自己在通关升级打怪一样,别说,就是爱玩,还得有一群人陪着玩,来吧,没事,大家一起努力刷题,一起嗨皮。