zoukankan      html  css  js  c++  java
  • 673. Number of Longest Increasing Subsequence

    Given an unsorted array of integers, find the number of longest increasing subsequence.
    
    Example 1:
    Input: [1,3,5,4,7]
    Output: 2
    Explanation: The two longest increasing subsequence are [1, 3, 4, 7] and [1, 3, 5, 7].
    Example 2:
    Input: [2,2,2,2,2]
    Output: 5
    Explanation: The length of longest continuous increasing subsequence is 1, and there are 5 subsequences' length is 1, so output 5.
    Note: Length of the given array will be not exceed 2000 and the answer is guaranteed to be fit in 32-bit signed int.

    The idea is to use two arrays len[n] and cnt[n] to record the maximum length of Increasing Subsequence and the coresponding number of these sequence which ends with nums[i], respectively. That is:

    len[i]: the length of the Longest Increasing Subsequence which ends with nums[i].
    cnt[i]: the number of the Longest Increasing Subsequence which ends with nums[i].

    Then, the result is the sum of each cnt[i] while its corresponding len[i] is the maximum length.

    Java version:

    public int findNumberOfLIS(int[] nums) {
            int n = nums.length, res = 0, max_len = 0;
            int[] len =  new int[n], cnt = new int[n];
            for(int i = 0; i<n; i++){
                len[i] = cnt[i] = 1;
                for(int j = 0; j <i ; j++){
                    if(nums[i] > nums[j]){
                        if(len[i] == len[j] + 1)cnt[i] += cnt[j];
                        if(len[i] < len[j] + 1){
                            len[i] = len[j] + 1;
                            cnt[i] = cnt[j];
                        }
                    }
                }
                if(max_len == len[i])res += cnt[i];
                if(max_len < len[i]){
                    max_len = len[i];
                    res = cnt[i];
                }
            }
            return res;
        }
    

      

    
    
  • 相关阅读:
    Django form
    centos 配置yum 源
    VMware clone centos 没有获取到ip
    python 自定义分页
    模态对话框
    Keepalived HAProxy mysql 配置HA
    HAProxy + mysql 配置
    mysql 配置主从
    关于python很好的网站和书籍
    【文件系统】dumpe2fs命令
  • 原文地址:https://www.cnblogs.com/apanda009/p/8030424.html
Copyright © 2011-2022 走看看