bilibili, 算法第二次笔试

第一题:
if __name__ == "__main__":

    d = list(map(int, input().split(',')))
    for i in range(len(d)):
        for j in range(i):
            if int(str(d[i]) + str(d[j])) > int(str(d[j]) + str(d[i])):
                d[i], d[j] = d[j], d[i]

    d = [str(i) for i in d]

    if len(set(d)) == 1 and set(d).pop() == '0':
        print("0")
    else:
        print("".join(d))

第三题:
if __name__ == "__main__":
    n, s = [int(x) for x in input().strip().split(' ')]
    p = [int(x) for x in input().strip().split(' ')]
    if sum(p) <= s:
        print(-1)
    else:
        res = float('inf')
        cnt = p[0]
        l = 0
        r = 1
        while l < n and r <= n:
            while r < n and cnt < s:
                cnt += p[r]
                r += 1
            if cnt >= s:
                res = min(res, r-l)
            cnt -= p[l]
            l += 1
        print(res)


#笔试题目##题解##哔哩哔哩##算法工程师#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:13
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务