[C_AR20-易] 檢查數值是否有重複
問題描述 :
給予一個由1到N的所有整數構成的數列,不依大小排列。 寫一函數檢查此數列是否每個數值只出現一次。
輸入說明 :
輸入分為兩行,第一行是一個介於1與128間的正整數,代表第二行中數列中的數字個數。
第二行是由空白鍵分隔開的數字序列,不超過128個數。每一個數值介於1到序列數字個數的整數。
輸出說明 :
若是每個數字剛好只出現一次則輸出1,輸出0表示其中有重複的數字。
範例 :
給予一個由1到N的所有整數構成的數列,不依大小排列。 寫一函數檢查此數列是否每個數值只出現一次。
輸入說明 :
輸入分為兩行,第一行是一個介於1與128間的正整數,代表第二行中數列中的數字個數。
第二行是由空白鍵分隔開的數字序列,不超過128個數。每一個數值介於1到序列數字個數的整數。
輸出說明 :
若是每個數字剛好只出現一次則輸出1,輸出0表示其中有重複的數字。
範例 :
Sample Input: | Sample Output: |
8 1 4 6 2 3 5 8 7 | 1 |
- #include <iostream>
- using namespace std;
- int main() {
- // [C_AR20-易] 檢查數值是否有重複
- int n;
- cin >> n;
- int num[n];
- int count[2000000];
- int cou = 0;
- for(int i = 0;i < 2000000;i++)
- {
- count[i] = 0;
- }
- for(int i = 0;i < n;i++)
- {
- cin >> num[i];
- if(count[num[i]]==0)
- {
- count[num[i]]++;
- }
- }
- for(int i = 0;i < 2000000;i++)
- {
- if(count[i]==1)
- {
- cou++;
- }
- }
- if(cou == n)
- {
- cout << "1" << endl;
- }
- else
- {
- cout << "0" << endl;
- }
- return 0;
- }
沒有留言:
張貼留言