华为机试HJ3明明的随机数
题目:
给定一组数,去除其中重复的数字,并将这组数从小到大排序
想法:
使用快速排序将给定的数组进行排序,遍历排序好的数组,将其中不重复的数字保留并输出。
input_number = input()
number_list = []
for i in range(int(input_number)):
number_list.append(int(input()))
def quick_sort(arr):
if len(arr) <= 1:
return arr
prvoit = arr[len(arr) // 2]
left = [l for l in arr if l < prvoit]
right = [r for r in arr if r > prvoit]
middle = [m for m in arr if m == prvoit]
return quick_sort(left) + middle + quick_sort(right)
result = quick_sort(number_list)
sort_result = []
for i in result:
if i not in sort_result:
sort_result.append(i)
print(i)