明明的隨機數題解

2021-08-11 06:17:07 字數 1120 閱讀 4999

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個

1到1000

之間的隨機整數(n≤

100),對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按

照排好的順序去找同學做調查。請你協助明明完成「去重」與「排序」的工作。有2

行,第1行為1

個正整數,表示所生成的隨機數

的n個數: 第

2行有n個用空格隔開的正整數,為所產生的隨機數第1

行為1個正整數

m,表示不相同的隨機數的個數。第2行為

m個用空格隔開的正整數,為從小

到大排好序的不相同的隨機數。

樣例輸入: 10

20 40 32 67 40 20 89 300 400 15

樣例輸出:

815 20 32 40 67 89 300 400

題解一:桶排序(摘自codevs題解)

#include using namespace std;

int main()

,s=0;

cin>>n;

for(int i=0;i>k;

if(!a[k])s++;

a[k]++;

}cout<

題解二:空間優化(雙向鍊錶)(筆者原創)

#includeusing namespace std;

struct node

;int main()

else if(k->next==null&&k->data < q->data)

else

else

}

} } node *t;

t=head;

int ans=1;

while(t->next != null)

coutcoutt=head;

p=head;

while(t->next!=null)

delete t;

}else cout<<0;

return 0;

}

題目詳情見codevs.cn1075明明的隨機數

明明的隨機數

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

明明的隨機數

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

明明的隨機數

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