生活随笔
收集整理的這篇文章主要介紹了
读入一个数列和N值,返回按优先级排序的N个数 满足...Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
拼多多2019.09.01秋招筆試 算法工程師
def
pdd_1():# 根據取模運算,將奇數和偶數分開,分別排序,之后拼接輸出
# nums, N = input().split(';')aa
= '555503,772867,756893,339138,399447,40662,859037,628085,855723,974471,599631,636153,581541,174761,948135,411485,554033,858627,402833,546467,574367,360461,566480,755523,222921,164287,420256,40043,977167,543295,944841,917125,331763,188173,353275,175757,950417,284578,617621,546561,913416,258741,260569,630583,252845;10'nums
, N
= aa
.split(';')nums
= map(int, nums
.split(','))N
= int(N
)nums_0
, nums_1
= [], []for i in nums
:if i
% 2 == 0:nums_0
.append(i
)nums_0
.sort(reverse
=True
)else:nums_1
.append(i
)nums_1
.sort(reverse
=True
)nums
= nums_0
+ nums_1
for i in
range(N
- 1):print(nums
[i
], end
=',')print(nums
[N
], end
='')
def
pdd_2():# DFS 求解,著重找到遞歸結束的條件# DFS 注意順序,以滿足輸出的字典序要求,避免二次排序def
check(nums0
, new_0
, nums1
, new_res
):if not nums0
:if len(new_0
) == len(nums1
):for i in
range(len(new_0
)):if new_0
[i
] != nums1
[i
]:returnres
.append(new_res
)returnnum
= nums0
[0]nums0
= nums0
[1:]check(nums0
, new_0
, nums1
, new_res
+ ['d'])check(nums0
, [num
] + new_0
, nums1
, new_res
+ ['l'])check(nums0
, new_0
+ [num
], nums1
, new_res
+ ['r'])# N = int(input())N
= 1for i in
range(N
):# nums_0 = list(map(int, input().split()))# nums_1 = list(map(int, input().split()))nums_0
= [1, 2, 3]nums_1
= [3]print('{')if set(nums_0
) > set(nums_1
):res
= []check(nums_0
, [], nums_1
, [])for j in res
:print(' '.join(j
))print('} ')
總結
以上是生活随笔為你收集整理的读入一个数列和N值,返回按优先级排序的N个数 满足...Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。