[2021秋招笔试记录]哔哩哔哩_9.4_算法

编程题

题目一

求最长回文字串

题目二

数组的最大连续和

题目三

大鱼吃小鱼:
一次操作中,体积大的鱼会吃掉后面第一个比它小的鱼,
如[6,5,4]一次操作后只剩6,6吃5,5吃4
问几次操作后,鱼的数量才不变?
输入:
3(N)
1,2,3
输出:
0

输入:
6
4,3,2,3,2,1
输出:
2
[4,3,2,3,2,1] --> [4,3] -->[4]

AC的代码

def fishGame(sizes):
    if sorted(sizes) == sizes:
        return 0
    if sorted(sizes)[::-1] == sizes:
        return 1
    newSize = []
    while sizes:
        i = 0
        while i < len(sizes)-1 and sizes[i+1] < sizes[i]:
            i += 1
        newSize.append(sizes[0])
        sizes = sizes[i+1: ]
    res = 1+fishGame(newSize)
    return res
N = int(input())
data = list(map(int, input().split(' ')))
print(fishGame(data))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值