面试中遇到的编程题

给定一个序列,找出序列的最长递增子序列的长度

比如[10,9,2,4,5,141,6,2,9] ,最长子序列是[2,4,5,6,9] 输出5(长度为5)

def genmax(nums):
    dp=[1 for k in nums]
    for i in range(1,len(nums)):
        maxs=dp[i-1]
        for k in range(i-1,-1,-1):
            if nums[i]>nums[k]:
                maxs=max(dp[k]+1,maxs)
        dp[i]=maxs
    return dp[-1]

给定一个数x,和长度为n的数组,x可以任意多次或上数组中的数字。求数组中可以出现最多的数字个数.

比如x=1,数组nums=[3,1,2,3,4,5] ,输出3 ,因为1|2=3,可以得到[3,1,3,3,4,5],3最多,个数为3。

猜你喜欢

转载自blog.csdn.net/qq_26593695/article/details/104957340
今日推荐