zoukankan      html  css  js  c++  java
  • 300. Longest Increasing Subsequence

    该题是要求出字符串中最长的递增子序列的长度。第一种方法的解决思路是动态规划,定义一个与输入数组等长的整型数组,用于记录在该位置前的最长递增子序列长度。

    代码如下:

     1 class Solution {
     2     public int lengthOfLIS(int[] nums) {
     3         
     4         if(nums.length == 0){
     5             return 0;
     6         }
     7         
     8         int[] fn = new int[nums.length];
     9         int len = 1;
    10         
    11         for(int i = 0 ; i < fn.length ; i++){
    12             fn[i] = 1;
    13         }
    14         
    15         
    16         for(int i = 1 ; i < nums.length ; i++){
    17             int maxvar = 0;
    18             for(int j = 0; j < i ; j++){
    19                 if(nums[i] > nums[j]){
    20                     maxvar = Math.max(maxvar, fn[j]);
    21                 }
    22             }
    23             fn[i] = maxvar + fn[i];
    24             len = Math.max(len, fn[i]);
    25         }
    26         
    27         return len;
    28     }
    29 }

    还有一个就是使用二分查找的方法。

    代码如下:

     1 class Solution {
     2     public int lengthOfLIS(int[] nums) {
     3         
     4         if(nums.length == 0){
     5             return 0;
     6         }
     7         
     8         int[] fn = new int[nums.length];
     9         int len = 0;
    10         
    11         for(int num : nums){
    12             int i = Arrays.binarySearch(fn, 0, len, num);
    13             
    14             if( i < 0){
    15                 i = -(i+1);
    16             }
    17             
    18             fn[i] = num;
    19             if( i == len){
    20                 len++;
    21             }
    22         }
    23         
    24         return len;
    25     }
    26 }

    END

  • 相关阅读:
    邻接表
    分治
    当遇到error: stray '241' in program错误的解决方法
    cmd / msys2 添加到右菜单
    洛谷P1003 铺地毯
    【洛谷P3372】【模板】线段树 1
    【codevs1082】线段树练习 3
    【codevs1081】线段树练习 2
    【codevs1080】线段树练习1
    【洛谷P1731】生日蛋糕
  • 原文地址:https://www.cnblogs.com/sssysukww/p/9009222.html
Copyright © 2011-2022 走看看