寒武纪疯狂超时代码

# 寒武纪
# 100 %
n = int(input())
for _ in range(n):
    cj = int(input())
    if cj < 38:
        print(cj)
    else:
        for j in range(5, 0, -1):
            if (cj + j) % 5 == 0:
                num = cj + j
                break
        if num - cj < 3:
            print(num)
        else:
            print(cj)


# 50 % 超时
N, M = map(int, input().split())
L = [0] * (N + 1)
ans = 0
for _ in range(M):
    a, b, k = map(int, input().split())
    for i in range(a, b+1):
        L[i] += k
print(max(L))


# 66.67 % 超时
n, k = map(int, input().split())
nums = list(map(int, input().split()))
ans = 0
test = all(num >= k for num in nums)
while not test:
    nums.sort()
    if len(nums) == 1:
        ans = -1
        break
    else:
        a = nums[0] + 2 * nums[1]
        nums.remove(nums[0])
        nums.remove(nums[0])
        nums.append(a)
        test = all(num >= k for num in nums)
        ans += 1
print(ans)


# 60 % 超时
def swap(nums, i, j):
    temp = nums[i]
    nums[i] = nums[j]
    nums[j] = temp


n = int(input())
nums = list(map(int, input().split()))
ans = 0
a = []
for num in nums:
    a.append(num)
nums.sort()
for i in range(n):
    if a[i] != nums[i]:
        k = a.index(nums[i], i+1, len(a))
        swap(a, i, k)
        ans += 1
if ans % 2 == 0:
    print(ans)
else:
    print(ans - 1)

#寒武纪##笔经#
全部评论
第三题最后剩一个要返回-1吗?  题目也没说。。
点赞 回复 分享
发布于 2021-09-19 20:44
唉 你超时第三题还有百分之66.7,我自构了一个排序 减少排序所需时间,结果也才百分之44.44。不知道极端案例是啥
点赞 回复 分享
发布于 2021-09-19 20:41

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务