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

2023年7月3日leetcode每日一題打卡——136.只出現(xiàn)一次的數(shù)字

這篇具有很好參考價值的文章主要介紹了2023年7月3日leetcode每日一題打卡——136.只出現(xiàn)一次的數(shù)字。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、題目描述與要求

136. 只出現(xiàn)一次的數(shù)字 - 力扣(LeetCode)

題目描述

給你一個 非空 整數(shù)數(shù)組 nums ,除了某個元素只出現(xiàn)一次以外,其余每個元素均出現(xiàn)兩次。找出那個只出現(xiàn)了一次的元素。

你必須設計并實現(xiàn)線性時間復雜度的算法來解決此問題,且該算法只使用常量額外空間

示例

示例1:

輸入:nums = [2,2,1]
輸出:1


示例2:

輸入:nums = [4,1,2,1,2]
輸出:4


示例3:

輸入:nums = [1]
輸出:1

提示

  • 1 <= nums.length <= 3 * 104
  • -3 * 104 <= nums[i] <= 3 * 104
  • 除了某個元素只出現(xiàn)一次以外,其余每個元素均出現(xiàn)兩次。

二、解題思路

總的思路:

? ? ? ?首先分析題目,題目要求是找出數(shù)組中只出現(xiàn)了一次的數(shù)字,因此我們需要思考怎么找出這一個數(shù)字。且題目要求了只能使用常量額外空間,也就是說不能利用數(shù)組等多個空間的變量來解決問題。同時時間復雜度也要是線性的。

? ? ? ? 最簡單的方法就是統(tǒng)計每個數(shù)字出現(xiàn)的次數(shù)(題目規(guī)定了其他數(shù)字只出現(xiàn)兩次),將數(shù)組中的數(shù)字與除它以外數(shù)組的每一個元素進行比較,相同則次數(shù)增加,遍歷比較完后判斷次數(shù)是否為1,如果為1則將這一數(shù)字賦值給result。重復以上步驟直至遍歷完整個數(shù)組?!咀顦闼氐膶崿F(xiàn)方法,但是會超時。時間復雜度O(n2)空間復雜度為O(1)】

? ? ? ?另一個方法則是需要利用位運算中的異或運算來找出只出現(xiàn)了一次的數(shù)字。a⊕0=a。a⊕a=0。a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b。因此可以將數(shù)組第一個值賦值給result,然后將result與數(shù)組中的元素以此進行異或運算,最后就能得到目標數(shù)字?!拘枰獙ξ贿\算性質(zhì)熟悉】

具體步驟:

嵌套循環(huán)遍歷方法:

①定義輔助變量result與count,result初值隨便定義,count在第一層for循環(huán)中定義初值為1

②for循環(huán)嵌套for循環(huán),將數(shù)組中的數(shù)字與除它以外數(shù)組的每一個元素進行比較,判斷次數(shù)是否為1,如果為1則將這一數(shù)字賦值給result。

③返回result文章來源地址http://www.zghlxwxcb.cn/news/detail-532778.html

異或運算方法:

①定義輔助變量result=nums[0]

②利用for循環(huán)遍歷數(shù)組,將result與數(shù)組的每個元素進行異或運算并保存結果

③返回result


三、具體代碼【C語言】

①嵌套循環(huán)遍歷方法:【時間O(n2) 空間O(1) 】leetcode提交超時

int singleNumber(int* nums, int numsSize) {
    if (numsSize == 1)  return nums[0];//如果數(shù)組只有一位的話則直接輸出
    int result = 0;
    int count;
    //遍歷整個數(shù)組,統(tǒng)計出現(xiàn)次數(shù)
    for (int i = 0; i < numsSize; i++) {
        count = 1;
        for (int j = 0; j < numsSize; j++) {
            if (j != i) {
                if (nums[i] == nums[j]) {
                    ++count;//有重復的,次數(shù)+1
                }
            }
        }
        if (count == 1)//只出現(xiàn)一次
        {
            result = nums[i];
        }
    }
    return result;
}

②異或運算方法:【時間O(n) 空間O(1) 】

int singleNumber(int* nums, int numsSize){
    if (numsSize == 1)  return nums[0];//如果數(shù)組只有一位的話則直接輸出
    int result = nums[0];
    //遍歷整個數(shù)組
    for (int i = 1; i < numsSize; i++) {
        result^=nums[i];
    }
    return result;
}

到了這里,關于2023年7月3日leetcode每日一題打卡——136.只出現(xiàn)一次的數(shù)字的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 只出現(xiàn)一次的數(shù)字——力扣136
  • 【力扣·每日一題】2085.統(tǒng)計出現(xiàn)過一次的公共字符串(模擬 哈希表 優(yōu)化 C++ Go)

    【力扣·每日一題】2085.統(tǒng)計出現(xiàn)過一次的公共字符串(模擬 哈希表 優(yōu)化 C++ Go)

    題目鏈接 給你兩個字符串數(shù)組 words1 和 words2 ,請你返回在兩個字符串數(shù)組中 都恰好出現(xiàn)一次 的字符串的數(shù)目。 輸入:words1 = [“l(fā)eetcode”,“is”,“amazing”,“as”,“is”], words2 = [“amazing”,“l(fā)eetcode”,“is”] 輸出:2 解釋: “l(fā)eetcode” 在兩個數(shù)組中都恰好出現(xiàn)一次,計入答

    2024年01月21日
    瀏覽(23)
  • 2023年7月2日leetcode每日一題打卡——125.驗證回文串

    2023年7月2日leetcode每日一題打卡——125.驗證回文串

    125. 驗證回文串 - 力扣(LeetCode) 如果在將所有大寫字符轉換為小寫字符、并移除所有非字母數(shù)字字符之后,短語正著讀和反著讀都一樣。則可以認為該短語是一個? 回文串 。 字母和數(shù)字都屬于字母數(shù)字字符。 給你一個字符串 s,如果它是 回文串 ,返回 true ;否則,返回

    2024年02月12日
    瀏覽(18)
  • leetcode之只出現(xiàn)一次的數(shù)字

    leetcode之只出現(xiàn)一次的數(shù)字

    今天為大家分享的是關于在數(shù)組中找到只出現(xiàn)一次數(shù)字的系列題目,我將使用c跟Java來實現(xiàn),希望我的分享能夠幫助到大家。 第一道題目是一個數(shù)組中只出有一個出現(xiàn)了一次的數(shù)字,也就是有一個單身狗。這是題目鏈接leetcode之只出現(xiàn)一次的數(shù)字 題目要求: 給你一個 非空 整

    2023年04月09日
    瀏覽(18)
  • leetcode:只出現(xiàn)一次的數(shù)字 Ⅲ(詳解)

    leetcode:只出現(xiàn)一次的數(shù)字 Ⅲ(詳解)

    前言:內(nèi)容包括:題目,代碼實現(xiàn),大致思路,代碼解讀 給你一個整數(shù)數(shù)組?nums,其中恰好有兩個元素只出現(xiàn)一次,其余所有元素均出現(xiàn)兩次。 找出只出現(xiàn)一次的那兩個元素。你可以按 任意順序 返回答案。 你必須設計并實現(xiàn)線性時間復雜度的算法且僅使用常量額外空間來

    2023年04月09日
    瀏覽(22)
  • leetcode 137. 只出現(xiàn)一次的數(shù)字 II

    給你一個整數(shù)數(shù)組 nums ,除某個元素僅出現(xiàn) 一次 外,其余每個元素都恰出現(xiàn) 三次 。請你找出并返回那個只出現(xiàn)了一次的元素。 你必須設計并實現(xiàn)線性時間復雜度的算法且使用常數(shù)級空間來解決此問題。 示例 1: 輸入:nums = [2,2,3,2] 輸出:3 示例 2: 輸入:nums = [0,1,0,1,0,1,

    2024年02月09日
    瀏覽(21)
  • Leetcode—137.只出現(xiàn)一次的數(shù)字II【中等】

    Leetcode—137.只出現(xiàn)一次的數(shù)字II【中等】

    實現(xiàn)代碼 為什么要用unsigned int呢,因為或左移溢出報錯,例如, Line 13: Char 13: runtime error: left shift of 2147483646 by 1 places cannot be represented in type ‘int’ [solution.c] 左移的高位如果超過符號位,就會報錯。因此要用類型強制轉換來 unsigned 來接住。 提交結果 解題思想 參考的是這兩

    2024年02月07日
    瀏覽(16)
  • 力扣(LeetCode)算法_C++—— 只出現(xiàn)一次的數(shù)字

    給你一個 非空 整數(shù)數(shù)組 nums ,除了某個元素只出現(xiàn)一次以外,其余每個元素均出現(xiàn)兩次。找出那個只出現(xiàn)了一次的元素。 你必須設計并實現(xiàn)線性時間復雜度的算法來解決此問題,且該算法只使用常量額外空間。 示例 1 : 輸入:nums = [2,2,1] 輸出:1 示例 2 : 輸入:nums = [4,

    2024年02月09日
    瀏覽(20)
  • 【LeetCode】260.只出現(xiàn)一次的數(shù)字 III(找出單身狗)

    【LeetCode】260.只出現(xiàn)一次的數(shù)字 III(找出單身狗)

    ??? 樊梓慕: 個人主頁 ? ?? 個人專欄: 《C語言》《數(shù)據(jù)結構》《藍橋杯試題》 ?? 每一個不曾起舞的日子,都是對生命的辜負。 目錄 前言: 一只單身狗: 兩只單身狗: 本篇主要講解LeetCode上的經(jīng)典題型:只出現(xiàn)一次的數(shù)字,我匯總了該類問題的兩種情況(一只單身狗

    2024年02月16日
    瀏覽(20)
  • LeetCode 每日一題 2023/8/14-2023/8/20

    記錄了初步解題思路 以及本地實現(xiàn)代碼;并不一定為最優(yōu) 也希望大家能一起探討 一起進步 8/14 617. 合并二叉樹 dfs深搜 8/15 833. 字符串中的查找與替換 op存放該位置能替換的數(shù)值 從頭遍歷每個位置 8/16 2682. 找出轉圈游戲輸家 模擬 8/17 1444. 切披薩的方案數(shù) 動態(tài)規(guī)劃 dp[k][i][j] 表

    2024年02月12日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包