Leetcode刷题
Gavin_Wen6
这个作者很懒,什么都没留下…
展开
-
2021-04-10Leetcode 79单词搜索
在矩阵中搜索,很容易联想到回溯和dfs。还是按照常规规定,按照右,下,左,上的顺序进行递归,设置一个和矩阵相同的二维数组判断该位置是否访问过,剩下就是回溯的一般写法了。class Solution { char[] words; int row, col, len; boolean[][] v; public boolean exist(char[][] board, String word) { words = word.toCharArray();原创 2021-04-10 22:48:32 · 61 阅读 · 0 评论 -
2021-04-04 LeetCode300.最长递增子序列
LeetCode300.最长递增子序列动态规划:递增子序列问题,因为如果一个子序列是递增,则它前面的序列也一定为增,例:若[2,3,7,101]满足为递增,则[2,3,7]避让为增,因此此题可以用dp。1.确定状态: 需要一个一维的数组,每个下标为i的位置存储的为从第0个到第i个中最长子序列的长度。2.转移方程: 每个递增子序列必须保证递增,递增子序列每增加一个数,最长长度就加一。因此,状态转移方程为:dp[i] = Math.max(dp[j] + 1, dp[i]).j是不大于i的指针,从0开原创 2021-04-04 23:51:53 · 80 阅读 · 0 评论 -
2021-04-04 LeetCode 5.最长回文子串
Leetcode 5.最长回文子串因为回文串天生具有状态转移的性质,所以这是一道典型的二维dp问题。确定状态:需要创建一个二维数组,行列分别代表两个指针,i指针先行,j指针紧跟其后,每个 arr[i][j] 代表i 到 j 是否是一个回文串。转移方程:因为判断一个子串是否是回文串,需要判断这个子串的最大子串是否是回文串,若charArray[i] == charArray[j] 且它的最大子串也是回文串,则这个字符串是回文串。即: Arr[i][j] = arr[i + 1][j –1] .原创 2021-04-04 22:44:29 · 103 阅读 · 0 评论