1. 程式人生 > 其它 >資訊學奧賽一本通 1117:整數去重 | OpenJudge NOI 1.9 13

資訊學奧賽一本通 1117:整數去重 | OpenJudge NOI 1.9 13

技術標籤:C++基礎資訊學奧賽一本通題解OpenJudge NOI題解c++

【題目連結】

ybt 1117:整數去重
OpenJudge NOI 1.9 13:整數去重

【題目考點】

1. 雜湊儲存

【解題思路】

  • 設布林型陣列isExist,isExist[i]表示數字i是否已經出現過,陣列元素都初始化為false。
  • 輸入數字num,
    • 如果數字num沒有出現過,那麼將isExist[num]設為true,表示數字num出現過了。並輸出num。
    • 如果數字num曾經出現過,那麼不做操作

【題解程式碼】

解法1:

#include <bits/stdc++.h>
using namespace
std; int main() { bool isExist[20005] = {};//陣列元素初始化為false int n, num; cin>>n; for(int i = 0; i < n; ++i) { cin>>num; if(isExist[num] == false)//如果沒輸入過數字num,那麼輸出這一數字 { cout<<num<<' '; isExist[num] = true; } } return 0; }