zoukankan      html  css  js  c++  java
  • Leetcode300. Longest Increasing Subsequence最长上升子序列

    给定一个无序的整数数组,找到其中最长上升子序列的长度。

    示例:

    输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。

    说明:

    • 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。
    • 你算法的时间复杂度应该为 O(n2) 。

    class Solution {
    public:
    	int lengthOfLIS(vector<int>& nums) 
    	{
    		int len = nums.size();
    		if (len == 0)
    			return 0;
    		vector<int> dp(len , 1);
    		for (int i = 0; i < len; i++)
    		{
    			for (int j = 0; j < i; j++)
    			{
    				if (nums[i] > nums[j])
    				{
    					dp[i] = max(dp[j] + 1, dp[i]);
    				}
    			}
    		}
    		int MAX = 1;
    		for (int i = 0; i < len; i++)
    		{
    			MAX = max(MAX, dp[i]);
    		}
    		return MAX;
    	}
    };
  • 相关阅读:
    ajax
    cookie
    JavaScript基本语法
    HTML css 格式布局
    HTML 表单
    html 一般标签 常用标签 表格
    WinForm——操作word文档
    WinForm进程 线程
    音乐
    注册 传值
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10433800.html
Copyright © 2011-2022 走看看