【20190903】【校招筆試題】拼多多(待續)

問題1

思路及解答

# 思路很簡單,先將奇偶數分別存在兩個數組中,對兩個數組排序,然後優先選取偶數數組,若偶數不夠,再從奇數數組選擇較大的一些數。
n, m, k = list(map(int, input().split()))
row0 = list(range(1, n+1))
row = row0
for i in range(2, m+1):
    for j in range(n):
        row.append(row0[j] * i)
row.sort()
print(row[-k])

strs = list(input().split(','))
nums = strs[0:len(strs)-1]
tmp = strs[len(strs)-1]
last = tmp.split(";")
N = int(last[1])
nums.append(last[0])
nums = list(map(int, nums))

ou, odd = [], []
for item in nums:
    if item % 2 == 0:
        ou.append(item)
    else:
        odd.append(item)
ou.sort()
ou = ou[::-1]
odd.sort()
result = []
l1, l2 = len(ou), len(odd)
if N <= l1:
    for i in range(N):
        result.append(ou[i])
else:
    for i in range(l1):
        result.append(ou[i])
    while len(result) < N:
        result.append(odd[l2-1])
        l2 -= 1
result = list(map(lambda x:str(x), result))   # 這裏輸出要注意一下!
print(",".join(result))

問題2

思路及解答

問題3

思路及解答

問題4

思路及解答

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章