歡迎加入我的 Discord 群組與我討論程式相關的問題!

Posted on 

 by 

 in ,

CSES – Distinct Numbers

評分:1 分,滿分為 5。

題目連結

題意

給 n 個整數,問有幾個不同的值

解題想法

利用set裡面元素不能重複的性質來快速計算有幾個不同的值

註: set的操作插入,刪除及查詢都是 O(logn),但是常數比排序比大,所以在時間限制較緊的題目可以考慮使用排序來解決這題

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    set <int> s;
    for(int i = 0;i < n;i++){
        int x;
        cin >> x;
        s.insert(x);
    }
    cout << (int)s.size() << '\n';
}

發表迴響

Blog at WordPress.com.

%d 位部落客按了讚: