面试中遇到的编程题

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

比如[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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值