力扣
爱学习的小仙女!
这个作者很懒,什么都没留下…
展开
-
力扣70 爬楼梯 C语言 动态规划 递归
爬 0 层和爬 1 层都只有一种情况, 但是爬两层有两种:一次爬一层一共爬两次、一次爬两层一共爬一次,爬三层有三种:一次爬一层一共爬三次、先爬一层再爬两层一共爬两次、先爬两层再爬一层一共爬两次。所以 f(0) = 1, f(1) = 1, f(2) = 2, f(3) = 3, f(4) = 5。规律是 f(n) = f(n-1) + f(n-2),因为爬到第 n 阶有两种情况,分别是站在第 n-1 阶爬一层和站在第 n-2 阶爬两层,所以就是 f(n-1) 和 f(n-2)的和。有两种方法可以爬到楼顶。原创 2024-05-07 10:32:58 · 335 阅读 · 0 评论 -
力扣69 x的平方根 二分查找求平方根 C语言
从评论里看到一位大佬用的二分查找,自己想不到这样做,记录一下。其中判断 x 是否大于等于mid的平方时,用的是 x/mid >= mid,这样来防止溢出。8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。不允许使用任何内置指数函数和算符,例如。由于返回类型是整数,结果只保留。原创 2024-05-06 09:33:03 · 212 阅读 · 0 评论 -
力扣67 二进制求和 C语言
官方题解中是将两个字符串反转,这样从低下标开始相加其实就是实际的加法过程了。对于进位问题,我原本想的是设一个变量 flag ,然后考虑 a[i] + b[i] + flag 对应的情况,官方题解中以 carry 表示进位,那么每一位的结果实际上是 (carry + a[i] + b[i])%2 ,不需要用 if 进行判断,进位就是 (carry + a[i] + b[i])/2,还挺妙的。官方题解的代码写的非常简洁,学到了反转字符串和 fmax()函数。,以二进制字符串的形式返回它们的和。原创 2024-05-02 10:10:02 · 225 阅读 · 0 评论 -
力扣14 字符串数组中的最长公共前缀 Java
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。原创 2023-07-11 15:13:55 · 127 阅读 · 0 评论 -
Java 最后一个单词的长度 力扣58
单词的长度。原创 2023-03-28 21:00:05 · 114 阅读 · 0 评论 -
Java 和有限的最长子序列 力扣2389
如示例1,nums排好后是1,2,4,5,从nums的第一位开始相加,直到超过数组queries中的第 i 位,相加时要统计相加的次数,该次数就是数组answer的第 i 位数值。1+2+4>3, 结束本次循环,满足要求的子序列最大长度就是2,answer[0]就是2。- 子序列 [4,5,2,1] 的和小于或等于 21。可以证明满足题目要求的子序列的最大长度是 3 ,所以 answer[1] = 3。可以证明满足题目要求的子序列的最大长度是 2 ,所以 answer[0] = 2。原创 2023-03-28 20:53:50 · 51 阅读 · 0 评论 -
力扣9回文数 判断一个数是否是回文整数
2.如果是正数,使x每次%10得到最后一位,将其放入一个数组中,再将x/10得到前面剩下的部分。(如123,%10得到最后一位3,/10得到12。)当x/10为0时,说明此时只剩一位了,如123,到最后1/10=0,此时结束循环。3.得到位数后再使用一个数组,将得到的数字倒着赋给新数组,最后分别从两个数组的头尾进行比较,如果有不同的位,输出false。其中第35行for循环的比较次数,后来我觉得比较一半就够了,但修改之后提交发现不如次数为count快。从右向左读, 为 121-。是一个回文整数,返回。原创 2023-03-16 19:27:10 · 57 阅读 · 0 评论