剑指offer笔记(七) 第47题至第53题
前言
这次主要记录剑指offer的8道题,主要使用的语言是python,下面将对这8道题的一些感悟和知识点进行汇总!
提示:以下是本篇文章正文内容,下面案例可供参考 截图来源于LeetCode
一、JZ47 礼物的最大价值
动态规划题目,由于只往右下移动,所以dp[j] 的情况由当前dp[j] 及上一刻 dp[j-1] 的最大值决定,之后加上 grid[i][j-1] 的结果。最后返回 dp[n] 即可。
以下为程序源码:
二、JZ48 最长不含重复字符的子字符串
这道题动态规划不是特别容易理解,不过LC的K神讲解的太好了,可以点开链接学习一下。
以下为程序源码
三、JZ49 丑数
没什么好说的,背诵!
以下为程序源码:
四、JZ50 第一个只出现一次的字符
代码不多,这里collecyions.OrderedDIct()函数是该子类具有专门用于重新排列字典顺序的方法,其实就是不改变原来字符串s中各字符的顺序,没什么大用,我照着别人的LU下来的,可以学习一下!这道题的关键点就在于,开始的时候给字典中的每个字符一个True,一旦该字符重复则会变成不可逆的False,最后遍历得到仍未True的字符即可。
以下为程序源码:
五、JZ51 数组中的逆序对
LC官方讲解特别赞,给出链接。
以下为程序源码:
六、JZ52 两个链表的第一个公共节点
挺简单的,画一画。
以下为程序源码:
七、JZ53 - 1 在排序数组中查找数字1
双指针查找,so easy。
以下为程序源码:
八、JZ53 - 2 0~n-1中缺失的数字
比上一题一样,换了一下,if判断条件,不多说了。
以下为程序源码:
九、总结
一周写了4篇博客,加油!再弄一篇。杜甫的诗,是真的牛啊!尤其是《登高》,绝了!来默诵一下:
风急天高猿啸哀,渚清沙白鸟飞回。
无边落木萧萧下,不尽长江滚滚来。
万里悲秋常作客,百年多病独登台。
艰难苦恨繁霜鬓,潦倒新停浊酒杯。