演算法1 明明的隨機數 來自華為研發工程師程式設計題

2021-10-01 01:53:28 字數 1196 閱讀 2664

題目描述:明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數(n≤1000),對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成「去重」與「排序」的工作(同乙個測試用例裡可能會有多組資料,希望大家能正確處理)。

輸入引數:n  輸入隨機數的個數 ;inputarray    n個隨機整數組成的陣列

返回引數:outputarray    輸出處理後的隨機整數

思路:題目主要在於兩點。

1)去重:在接收隨機整數時,便判斷此數是否在陣列中,不在則continue,在則加入陣列;

2)排序:python中內建函式sorted()函式直接排序

需要注意的是題目中的「多組資料」的意思是,在測試完一組資料後,還會繼續測試接下來一組資料,而並非一組資料中的多個資料。

while true:

try:

count = int(input())

random_list =

for c in range(count):

n = int(input())

if n in random_list:

continue

else:

random_list.sort()

for r in random_list:

print(r)

except:

break

大神的超凡解法——借助於python中集合的中不存在重複元素的特點,直接進行去重操作,再優化上面的**結構。

while true:

try:

a,res=int(input()),set()

for i in range(a):res.add(int(input()))

for i in sorted(res):print(i)

except:

break

華為研發工程師 明明的隨機數

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 1000 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成 去重 與 排序...

明明的隨機數(華為)

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 1000 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成 去重 與 排序...

華為 明明的隨機數

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 1000 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成 去重 與 排序...