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

    https://leetcode.com/problems/longest-increasing-subsequence/

    Given an unsorted array of integers, find the length of longest increasing subsequence.

    Example:

    Input: [10,9,2,5,3,7,101,18]
    Output: 4 
    Explanation: The longest increasing subsequence is [2,3,7,101], therefore the length is 4. 

    Note:

    • There may be more than one LIS combination, it is only necessary for you to return the length.
    • Your algorithm should run in O(n2) complexity.

    Follow up: Could you improve it to O(n log n) time complexity?

    代码:

    class Solution {
    public:
        int lengthOfLIS(vector<int>& nums) {
            int n = nums.size();
            if(n == 0) return 0;
            vector<int> dp(n, 1);
            for(int i = 0; i < n; i ++) {
                for(int j = 0; j < i; j ++) {
                    if(nums[j] < nums[i])
                        dp[i] = max(dp[i], dp[j] + 1);
                }
            }
            sort(dp.begin(), dp.end());
            return dp[n - 1];
        }
    };
    

      dp

     

  • 相关阅读:
    js原型杂谈
    arguments.callee.caller
    $resource
    sql的四种匹配模式
    AMD规范
    module.ngdoc
    angularjs杂谈
    浏览器前缀
    css21规范学习
    <meta>标签
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10823998.html
Copyright © 2011-2022 走看看