leetcode300 最长上升子序列
生活随笔
收集整理的這篇文章主要介紹了
leetcode300 最长上升子序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
經典題,不解釋,可以看我之前文章。
普通dp
public class Solution {public int lengthOfLIS(int[] nums) {if (nums.length == 0) {return 0;}int[] dp = new int[nums.length];dp[0] = 1;int maxans = 1;for (int i = 1; i < dp.length; i++) {int maxval = 0;for (int j = 0; j < i; j++) {if (nums[i] > nums[j]) {maxval = Math.max(maxval, dp[j]);}}dp[i] = maxval + 1;maxans = Math.max(maxans, dp[i]);}return maxans;} }?
二分dp
public class Solution {public int lengthOfLIS(int[] nums) {int[] dp = new int[nums.length];int len = 0;for (int num : nums) {int i = Arrays.binarySearch(dp, 0, len, num);if (i < 0) {i = -(i + 1);}dp[i] = num;if (i == len) {len++;}}return len;} }總結
以上是生活随笔為你收集整理的leetcode300 最长上升子序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode122. 买卖股票的最佳
- 下一篇: leetcode278. 第一个错误的版