题解 | #数组中只出现一次的数(其它数出现k次)#

数组中只出现一次的数(其它数出现k次)

http://www.nowcoder.com/practice/5d3d74c3bf7f4e368e03096bb8857871

描述

给定一个长度为  的整型数组  和一个整数  。
已知  中只有 1 个数出现一次,其他的数都出现  次。
请返回只出现了 1 次的数。

数据范围:
1 \le n \le 2*10^51n2105
1 \lt k \lt 1001<k<100
-2*10^9 \le arr[i] \le 2*10^92109arr[i]2109
复杂度要求:
时间 
空间 

适合新手的方法:将数组由小到大排序,若某一元素不等于前一个也不等于后一个,则跳出循环返回该元素
class Solution {
public:
    int foundOnceNumber(vector<int>& arr, int k) {
        vector<int> temp;
        sort(arr.begin(),arr.end());
        temp=vector<int>{arr.begin(),arr.end()};
        for(int i=0;i<temp.size();i++)
            if(temp[i]!=temp[i+1]&&temp[i]!=temp[i-1])
                return temp[i];
        return 0;
    }
};



全部评论

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务