力扣hot100二刷——多维动态规划、技巧(完结)

第二次刷题不在idea写代码,而是直接在leetcode网站上写,“逼”自己掌握常用的函数。

标志掌握程度解释办法
Fully 完全掌握看到题目就有思路,编程也很流利
⭐⭐Basically 基本掌握需要稍作思考,或者看到提示方法后能解答
⭐⭐⭐Slightly 稍微掌握需要看之前写过的代码才能想起怎么做多做
⭐⭐⭐⭐absolutely no 完全没有掌握需要看题解才知道怎么做
⭐⭐⭐⭐⭐有难度的高频题需要看题解才知道怎么做,而且过几天就忘了这道题怎么做了背背
91Medium多维动态规划62.不同路径dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
92Medium多维动态规划64.最小路径和dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];
93⭐⭐⭐⭐Medium多维动态规划5/最长回文子串dp[i][j]表示字符串s[i]-s[j]组成的字符串是否是回文子串 初始化dp数组:dp[i][i] = true 外循环遍历j,内循环遍历i,之所以这样做是为了避免,当遍历到[0][3]的时候,dp[1][2]还没遍历到的情况 内循环中,先判断i,j是否是相邻字符,是的话,直接判断是否相等。 如果不是相邻,则dp[i][j] = dp[i + 1][j - 1] && (s.charAt(i) == s.charAt(j)); 更新最大回文子串长度,并更新子串的左右边界。
94⭐⭐Mediuim多维动态规划1143.最长公共子序列注意dp数组的初始化 if(ch1[i] == ch2[j]) dp[i][j] = dp[i - 1][j - 1] + 1; else dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
95⭐⭐⭐Medium多维动态规划72.编辑距离不好理解但是好写 // ch1[i]==ch2[j]:dp[i][j] // 删除:dp[i - 1][j] + 1,如果删除操作,说明当前字符多余,说明dp[i - 1][j]已经匹配好 // 插入:dp[i][j - 1] + 1,如果插入操作,说明当前字符少了,说明dp[i][j - 1]已经匹配好 // 替换:dp[i - 1][ j - 1] + 1 if(chs1[i - 1] == chs2[j - 1]) dp[i][j] = dp[i - 1][j - 1]; else dp[i][j] = Math.min(dp[i - 1][j - 1], Math.min(dp[i - 1][j], dp[i][j - 1])) + 1;
96Easy技巧136.只出现一次的数字异或运算 ^ ans = ans ^ nums[i];
97⭐⭐⭐Easy技巧169.多数元素摩尔投票法:遍历并统计票数,当发生票数和=0时,剩余数组的众数一定不变。 定义票数votes 和 众数x if(votes == 0) x = num; votes = num == x ? votes + 1 : votes - 1;
98⭐⭐⭐⭐Medium技巧75.颜色分类快速排序的子过程 快速排序的子过程partition [0, zero) = 0 [zer0, two) = 1 [two, len) = 2 用zero来记录0的右边界 用two来记录2的左边界,将0都交换到数组左侧,将2都交换到数组右侧
99⭐⭐⭐⭐Medium技巧31.下一个排列背吧,无需多言 两次扫描,注意:在第一步和第二步注意跳过相等的情况 4 5 2 6 3 1 从后往前找到第一对顺序对 i, i + 1,nums[i] < nums[i + 1],这里也就是 2 6 在[i + 1, len)从后往前找到第一个大于nums[i]的数nums[j],也就是3,交换nums[i] nums[j],这时候变成 4 5 3 6 2 1 再将[i + 1, len)变为升序排序,反转 6 5 4 3 2 1 原本就为降序时,直接进行第三步
100⭐⭐⭐Medium技巧287.寻找重复数背吧,无需多言 数组索引 -> 数组元素 形成一个环形链表 快慢指针寻找相交节点,142题的思路

图片版:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值