package question;import java.util.Arrays;public class Question300 {public static void main(String[] args) {int[] ints = {// 10, 9, 2, 5, 3, 7, 101, 180, 1, 0, 3, 2, 3};System.out.println(new Question300().lengthOfLIS(ints));}public int lengthOfLIS(int[] nums) {int[] res = new int[nums.length];int len = 0;for (int num : nums) {int idx = Arrays.binarySearch(res, 0, len, num);idx = idx < 0 ? -idx - 1 : idx;res[idx] = num;if (idx == len) {len++;}}return len;}public int lengthOfLIS2(int[] nums) {int[] dp = new int[nums.length];Arrays.fill(dp, 1);for (int i = 1; i < dp.length; i++) {for (int j = 0; j < i; j++) {if (nums[i] <= nums[j]) continue;dp[i] = Math.max(dp[i], dp[j] + 1);}}int max = 0;for (int i = 0; i < dp.length; i++) {max = Math.max(max, dp[i]);}return max;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。