「 每日一练,快乐水题 」540. 有序数组中的单一元素

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」540. 有序数组中的单一元素相关的知识,希望对你有一定的参考价值。

✅力扣原题:

力扣链接:540. 有序数组中的单一元素

✅题目简述:

给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。
请你找出并返回只出现一次的那个数。
你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。

✅解题思路:

1.利用哈希表统计频次;
2.遍历哈希表,输出只只出现1次的数字;
3.over;

✅C++代码:

class Solution 
public:
    int singleNonDuplicate(vector<int>& nums) 

        unordered_map<int, int> umap;

        for(auto & num : nums)
        
            ++umap[num];
        

        for(auto it = umap.begin();it != umap.end(); it++)
        
            if(it->second != 2)
            
                return it->first;
            
        

        return 0;
    
;

✅结果展示:

以上是关于「 每日一练,快乐水题 」540. 有序数组中的单一元素的主要内容,如果未能解决你的问题,请参考以下文章

「 每日一练,快乐水题 」88. 合并两个有序数组

「 每日一练,快乐水题 」1331. 数组序号转换

「 每日一练,快乐水题 」1408. 数组中的字符串匹配

「 每日一练,快乐水题 」1408. 数组中的字符串匹配

「 每日一练,快乐水题 」1608. 特殊数组的特征值

「 每日一练,快乐水题 」1331. 数组序号转换