深信服,python开发岗笔试编程题目
第一题
print() 大法,可以 AC 33%
代码就不上了
第二题 AC 100%
if __name__ == "__main__":
box = [int(x) for x in input().strip().split(' ')]
pow = int(input())
box.sort(reverse=True)
cnt = 0
l = 0
r = len(box)-1
record = 0
while l <= r:
if record + box[l] > pow and record + box[r] > pow:
cnt += 1
record = 0
continue
if record + box[l] <= pow:
record += box[l]
l += 1
continue
if record + box[r] <= pow:
record += box[r]
r -= 1
continue
if record > 0:
cnt += 1
print(cnt) 第三题 利用大顶堆 AC 85.7%
from heapq import heapify, heappop
if __name__ == "__main__":
s = [x for x in input().strip().split(' ')]
n = int(input())
s = set(s)
if n > len(s):
maxv = -float('inf')
for item in s:
if maxv < len(item):
maxv = len(item)
print(maxv)
else:
length = []
for item in s:
length.append(-len(item))
heapify(length)
while n > 0:
t = -heappop(length)
n -= 1
print(t) 
