wordpress wcps,西安seo网络优化公司,wordpress前端找回密码,电子商务网站建设课程设计总结代码随想录训练营第52天|300.最长递增子序列#xff0c;674.最长连续递增子序列#xff0c;718.最长重复子序列 300.最长递增子序列文章思路代码 674.最长连续递增序列文章思路代码 718.最长重复子数组文章思路代码 总结 300.最长递增子序列
文章
代码随想录|0300.最长上升… 代码随想录训练营第52天|300.最长递增子序列674.最长连续递增子序列718.最长重复子序列 300.最长递增子序列文章思路代码 674.最长连续递增序列文章思路代码 718.最长重复子数组文章思路代码 总结 300.最长递增子序列
文章
代码随想录|0300.最长上升子序列
思路 d p [ i ] M a x ( M a x n u m s [ i ] n u m s [ j ] i j ( d p [ j ] ) 1 , 1 ) dp[i] Max(Max_{nums[i]nums[j]\\i j}(dp[j]) 1, 1) dp[i]Max(Maxnums[i]nums[j]ij(dp[j])1,1)
代码
class Solution {public int lengthOfLIS(int[] nums) {int i, j, n;int res 1;n nums.length;int[] dp new int[n];for (i 0; i n; i) {dp[i] 1;for (j i - 1; j -1; --j) {if (nums[i] nums[j]) {dp[i] Math.max(dp[i], dp[j] 1);res res dp[i] ? res : dp[i];}}}return res;}
}674.最长连续递增序列
文章
代码随想录|0674.最长连续递增序列
思路
反而比上一题简单连续序列意味着不需要遍历i之前的所有位置 只需要0nums[i]nums[i-1]即可令dp[i]dp[i-1]1
代码
class Solution {public int findLengthOfLCIS(int[] nums) {int i, n;n nums.length;int[] dp new int[n];dp[0] 1;int res 1;for (i 1; i n; i) {if (nums[i] nums[i - 1]) {dp[i] dp[i - 1] 1;res res dp[i] ? res : dp[i];} else {dp[i] 1;}}return res;}
}718.最长重复子数组
文章
代码随想录|0718.最长重复子数组
思路
提示要用二维数组dp dp[i][j]表示nums1的第i位为末尾的nums1的子数组和以nums2的第j位为末尾的nums2子数组中最长重复的长度如果nums1[i]与nums2[j]相同则 d p [ i ] [ j ] d p [ i − 1 ] [ j − 1 ] 1 dp[i][j]dp[i-1][j-1]1 dp[i][j]dp[i−1][j−1]1 否则 d p [ i ] [ j ] 0 dp[i][j]0 dp[i][j]0
代码
class Solution {public int findLength(int[] nums1, int[] nums2) {int res 0;int i, j, m, n;m nums1.length;n nums2.length;int[][] dp new int[m][n];// dp[0][0] nums1[0] nums2[0] ? 1 : 0;for (i 0; i m; i) {for (j 0; j n; j) {if (i 0 j 0 nums1[i] nums2[j]) {dp[i][j] dp[i - 1][j - 1] 1;} else if (nums1[i] nums2[j]) {dp[i][j] 1;}res res dp[i][j] ? res : dp[i][j];}}return res;}
}总结
基本上是N年前刷过的题就像阔别已久的老友 欲买桂花同载酒