首页 > 试题广场 >

手写代码:筛选数组arr中重复的元素,考虑时间复杂度。

[问答题]

手写代码:筛选数组arr中重复的元素,考虑时间复杂度。

vector <int> solution(vector <int>& arr){
    vector <int> ans;
    unordered_map <int, bool> m;
    for(int i = 0; i < arr.size(); i++){
        if(m[arr[i]]) continue;
        ans.push_back(arr[i]);
        m[arr[i]] = 1;
    }
    return ans;
}
//无序map, 时间复杂度接近O(n)

发表于 2025-08-20 22:12:58 回复(1)
def repeatnum (arr):
    seen={}
    repeat=[]
    for i in range arr:
        if i in seen:
            if seen[i]==1:
                repeat.append(i)
                seen[i]+=1
        else:
            seen[i]=1
    return repeat

发表于 2025-08-20 21:23:59 回复(0)