美文网首页【python公司校招题】
【python欢聚时代】最长递增子序列?

【python欢聚时代】最长递增子序列?

作者: 阿牛02 | 来源:发表于2019-08-10 20:10 被阅读0次

题目:给定一个序列 An = a1 ,a2 ,  ... , an ,找出最长的子序列使得对所有 i < j ,ai < aj 。求出这个子序列的长度。

输入描述:

输入的序列

输出描述:

最长递增子序列的长度

分析:遍历数组,记录每个递增子数组的长度,最终取最长的子数组。

code:

def maxLen(An):

    if len(An) == 1:

        return 1

    else:

        maxLen = 0

        i = 0

        while i < len(An)-1:

            res = 1

            j = i+1

            k = An[i]

            while j < len(An):

                if k <= An[j]:

                    res += 1

                    if res > maxLen:

                        maxLen = res

                    k = An[j]

                j += 1

            i += 1

    return maxLen

if __name__ == "__main__":

    An = [1, -1, 2, -2, 3, -3, 4]

    print(maxLen(An))

程序运行结果为:

4

相关文章

  • 【python欢聚时代】最长递增子序列?

    题目:给定一个序列 An = a1 ,a2 , ... , an ,找出最长的子序列使得对所有 i < j ,ai...

  • LeetCode-300-最长递增子序列

    LeetCode-300-最长递增子序列 300. 最长递增子序列[https://leetcode-cn.com...

  • 动态规划-LIS

    LIS 最长递增子序列 如 x 的 最长递增子序列长度为5 方法一 对 x 排序(升序)生成 x_sorted 对...

  • LeetCode 300. Longest Increasing

    问题描述 给定一个未排序的整数数组,找出最长的递增子序列。 栗子: 注意: 可能存在多种最长递增子序列的组合,只需...

  • 最长递增子序列

    问题描述 求最长递增子序列的长度 分析 主要是确定状态,F[i]表示以ai 结束的最长递增子序列长度,F[i]=m...

  • 经典DP问题合集

    一、上台阶问题 二、矩阵最小路径和 三、最长递增子序列 四、最长公共子序列 五、背包问题

  • 动态规划常见面试题

    子序列类型编辑距离 最长递增子序列 最大子数组 最长公共子序列 背包问题0-1背包问题 子集背包问题 完全背包问题...

  • 最长递增子序列: 动态规划和LCS(最长公共子序列)

    最长递增子序列: 动态规划和LCS(最长公共子序列)子序列和子串的区别:子序列不连续,字串连续。这个题两种解法 动...

  • 最长递增子序列

    //Given an unsorted array of integers, find the length of...

  • 最长递增子序列

    通常有4个步骤来设计动态规划算法: 1.刻画一个最优解的结构特征。 2.递归地定义最优解的值。 3.计算最优解的值...

网友评论

    本文标题:【python欢聚时代】最长递增子序列?

    本文链接:https://www.haomeiwen.com/subject/dhyrjctx.html