国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

劍指 Offer 56 - II. 數(shù)組中數(shù)字出現(xiàn)的次數(shù) II(位運(yùn)算 / 哈希表 / 排序)

這篇具有很好參考價值的文章主要介紹了劍指 Offer 56 - II. 數(shù)組中數(shù)字出現(xiàn)的次數(shù) II(位運(yùn)算 / 哈希表 / 排序)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

題目:

鏈接:劍指 Offer 56 - II. 數(shù)組中數(shù)字出現(xiàn)的次數(shù) II
難度:中等

在一個數(shù)組 nums 中除一個數(shù)字只出現(xiàn)一次之外,其他數(shù)字都出現(xiàn)了三次。請找出那個只出現(xiàn)一次的數(shù)字。

示例 1:

輸入:nums = [3,4,3,3]
輸出:4

示例 2:

輸入:nums = [9,1,7,9,7,9,7]
輸出:1

限制:

  • 1 <= nums.length <= 10000
  • 1 <= nums[i] < 2^31

方法一:

位運(yùn)算:

看不懂學(xué)不會,直接看力扣題解吧。

方法二:

哈希表:

人類的方法,沒技術(shù)含量,統(tǒng)計出現(xiàn)次數(shù)。

代碼二:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        unordered_map<int, int> hash;
        for(auto n : nums)
            hash[n]++;
        for(auto n : hash)
            if(n.second == 1) return n.first;
        return 0;
    }
};

時間復(fù)雜度O(N)。
空間復(fù)雜度O(N)。

方法三:

排序:

排個序,看左右值是否相等,沒相等的就是單獨(dú)出現(xiàn)的數(shù)。

代碼三:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int len = nums.size();
        sort(nums.begin(), nums.end());
        for(int i = 0; i < len; i++)
        {
            if((i != 0 ? nums[i] != nums[i - 1] : true) && (i != len - 1 ? nums[i] != nums[i + 1] : true)) return nums[i];
        }
        return 0;
    }
};

時間復(fù)雜度O(N)。
空間復(fù)雜度O(1)。文章來源地址http://www.zghlxwxcb.cn/news/detail-546002.html

到了這里,關(guān)于劍指 Offer 56 - II. 數(shù)組中數(shù)字出現(xiàn)的次數(shù) II(位運(yùn)算 / 哈希表 / 排序)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 劍指 Offer 39. 數(shù)組中出現(xiàn)次數(shù)超過一半的數(shù)字

    ?? 作者簡介:一名在后端領(lǐng)域?qū)W習(xí),并渴望能夠?qū)W有所成的追夢人。 ?? 個人主頁:不 良 ?? 系列專欄:??劍指 Offer ???Linux ?? 學(xué)習(xí)格言:博觀而約取,厚積而薄發(fā) ?? 歡迎進(jìn)來的小伙伴,如果小伙伴們在學(xué)習(xí)的過程中,發(fā)現(xiàn)有需要糾正的地方,煩請指正,希望能夠與諸

    2024年02月07日
    瀏覽(27)
  • Leetcode 劍指 Offer II 042. 最近的請求次數(shù)

    Leetcode 劍指 Offer II 042. 最近的請求次數(shù)

    題目難度: 簡單 原題鏈接 今天繼續(xù)更新 Leetcode 的劍指 Offer(專項突擊版)系列, 大家在公眾號 算法精選 里回復(fù) 劍指offer2 就能看到該系列當(dāng)前連載的所有文章了, 記得關(guān)注哦~ 寫一個 RecentCounter 類來計算特定時間范圍內(nèi)最近的請求。 請實(shí)現(xiàn) RecentCounter 類: RecentCounter() 初始化

    2024年02月10日
    瀏覽(26)
  • 【每日一題】Leetcode - 劍指 Offer 43. 1~n 整數(shù)中 1 出現(xiàn)的次數(shù)

    【每日一題】Leetcode - 劍指 Offer 43. 1~n 整數(shù)中 1 出現(xiàn)的次數(shù)

    Leetcode - 劍指 Offer 43. 1~n 整數(shù)中 1 出現(xiàn)的次數(shù) 分解數(shù)字中的每一位,判斷+記錄 = 結(jié)果 But,超時了,下面是優(yōu)化過程簡介 空間換時間(爆內(nèi)存) :n = 123456,則n{len-1} = 12345,其實(shí)走到n這里,說明n{len-1}這個數(shù)字我們一定已經(jīng)知道了它有多少個1了,所以我們只需要記錄保存下

    2024年02月11日
    瀏覽(19)
  • 劍指 Offer II 010. 和為 k 的子數(shù)組

    劍指 Offer II 010. 和為 k 的子數(shù)組

    給定一個整數(shù)數(shù)組和一個整數(shù) k ,請找到該數(shù)組中和為 k 的連續(xù)子數(shù)組的個數(shù)。 示例 1: 示例 2: 提示: 這個題目做出來不難,直接暴力枚舉。但是利用哈希表和前綴和優(yōu)化的過程我一直不是很理解,所以寫下這篇文章來一點(diǎn)一點(diǎn)的研究,希望能對大家有所幫助 首先,先看最

    2023年04月16日
    瀏覽(20)
  • 劍指 Offer 53 - II. 0~n-1 中缺失的數(shù)字

    力扣 一個長度為n-1的遞增排序數(shù)組中的所有數(shù)字都是唯一的,并且每個數(shù)字都在范圍0~n-1之內(nèi)。在范圍0~n-1內(nèi)的n個數(shù)字中有且只有一個數(shù)字不在該數(shù)組中,請找出這個數(shù)字。 示例 1: 輸入: [0,1,3] 輸出: 2 示例 2: 輸入: [0,1,2,3,4,5,6,7,9] 輸出: 8 限制: 1 = 數(shù)組長度 = 10000 代碼:

    2024年02月14日
    瀏覽(29)
  • Leetcode-每日一題【劍指 Offer II 010. 和為 k 的子數(shù)組】

    Leetcode-每日一題【劍指 Offer II 010. 和為 k 的子數(shù)組】

    給定一個整數(shù)數(shù)組和一個整數(shù)?k ,請找到該數(shù)組中和為?k?的連續(xù)子數(shù)組的個數(shù)。 示例 1: 輸入: nums = [1,1,1], k = 2 輸出: 2 解釋: 此題 [1,1] 與 [1,1] 為兩種不同的情況 示例 2: 輸入: nums = [1,2,3], k = 3 輸出: 2 提示: 1 = nums.length = 2 * 104 1000 = nums[i] = 1000 107?= k = 107 前置知識 前綴和

    2024年02月15日
    瀏覽(20)
  • 【劍指offer】數(shù)組中重復(fù)的數(shù)字

    【劍指offer】數(shù)組中重復(fù)的數(shù)字

    ??專欄內(nèi)容:力扣刷題 ?個人主頁:子夜的星的主頁 ??座右銘:前路未遠(yuǎn),步履不停 劍指offer:數(shù)組中重復(fù)的數(shù)字 在一個長度為 n 的數(shù)組里的所有數(shù)字都在 0 0 0 到 n ? 1 n-1 n ? 1 的范圍內(nèi)。數(shù)組中某些數(shù)字是重復(fù)的,但不知道有幾個數(shù)字重復(fù),也不知道每個數(shù)字重復(fù)了幾

    2024年01月20日
    瀏覽(23)
  • 【劍指 offer】旋轉(zhuǎn)數(shù)組的最小數(shù)字

    【劍指 offer】旋轉(zhuǎn)數(shù)組的最小數(shù)字

    ?個人主頁:bit me?? ?當(dāng)前專欄:算法訓(xùn)練營?? 核心考點(diǎn):數(shù)組理解,二分查找,臨界條件 描述: 有一個長度為 n 的非降序數(shù)組,比如[1,2,3,4,5],將它進(jìn)行旋轉(zhuǎn),即把一個數(shù)組最開始的若干個元素搬到數(shù)組的末尾,變成一個旋轉(zhuǎn)數(shù)組,比如變成了[3,4,5,1,2],或者[4,5,1,2,3]這

    2023年04月20日
    瀏覽(20)
  • 劍指offer03.數(shù)組中重復(fù)的數(shù)字

    劍指offer03.數(shù)組中重復(fù)的數(shù)字

    看到這道題的第一眼想到的是先給它排序,然后雙指針從左往右遍歷,寫了一個冒泡排序,但是我想到了應(yīng)該會超時,因為冒泡時間復(fù)雜度是n的平方,輸入大小時10000,肯定會超時,然后右又看了一下題目看到數(shù)字都是0-n-1,靈感一下子就來了,我先創(chuàng)建一個等大的自然數(shù)數(shù)

    2024年02月11日
    瀏覽(19)
  • 【劍指offer|1.數(shù)組中重復(fù)的數(shù)字】

    【劍指offer|1.數(shù)組中重復(fù)的數(shù)字】

    : 長度為n的數(shù)組nums中所有數(shù)字都在0~n-1范圍內(nèi) 返回任意一個重復(fù)的數(shù)字 總體時間復(fù)雜度和空間復(fù)雜度分析: 修改數(shù)組的方法: 因為有n個元素,每一個元素都在0~(n-1)范圍內(nèi),如果元素不重復(fù)的話, 對數(shù)組重排之后,下標(biāo)和元素值之間應(yīng)該是一一對應(yīng)的關(guān)系 但是因為

    2023年04月22日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包