力扣日常刷题
文章平均质量分 51
.wsy.
这个作者很懒,什么都没留下…
展开
-
自学算法:02 二分搜索
无论整体是否有序,只要确定判定完中间值之后,可以进而确定哪一侧必然存在要找的值(或者某侧必然不存在要找的值),也就是缩小一半的寻找范围,就可以使用二分搜索法。原创 2024-03-23 09:32:56 · 336 阅读 · 0 评论 -
自学算法:01 前缀和与差分
题目:有数组:{1,3,7,5,2},q次询问[L, R]区间和。首先明确Sum[ i ] 是数组在区间[ 0, i ]的和,然后利用公式:建立Sum数组,于是要求区间[L, R]的和,就只需要计算Sum[ R ] - Sum[ L ] 即可。原创 2024-03-22 22:01:29 · 162 阅读 · 0 评论 -
自学算法:03 一维动态规划
如果不为'0',那就要进一步判定当前字符是否能和下一个字符构成不大于26的数字,如果没有这种情况,那就返回区间[0,(i + 1)]的方法数,反之,就再加上区间[0,(i + 2)]的方法数,其实这样就相当于划分当前字符为合法数字,还是划分相邻两个字符为合法数字。会发现改动的部分很少,但是要注意,因为每次对dp数组的求解都完全依赖于它后面的值,所以必须初始化下标n的dp值为1,也可以理解能划分到下标n的字符就证明这个划分是对的,所以如果不对dp[n]初始化,就没有加上这个对的划分。原创 2024-03-24 11:23:45 · 455 阅读 · 0 评论 -
力扣 day 2024 / 03 /19 | 9. 回文数
主要是一个数前半部分的数值和一个数后半部分的数值进行比较,因为每次取余之后得到的都是数的最后一位,所以这样构造的数相当于反转了这个数,不用全部转换,只要转换一半就能判断,判断要注意奇数位和偶数位的区别。除此之外,前面的判断条件也很巧妙,只要这个数大于0但是最后一位数是0,那么这个数就必然不是回文数。官方题解,用JAVA转写的,这回想要练习一下代码的书写规范。暴力2,转换成string——暴力1,vector数组——是一个回文整数,返回。原创 2024-03-19 22:17:05 · 157 阅读 · 0 评论