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

每日一題——只出現(xiàn)一次的數(shù)字

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

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

題目鏈接

每日一題——只出現(xiàn)一次的數(shù)字,每日一題,# 位運(yùn)算,c語言,leetcode

思路

要求為線性時(shí)間復(fù)雜度,即時(shí)間復(fù)雜度為O(n),那么我們就不能用簡單的兩層循環(huán)來解決問題

要求只能使用常量額外空間,即空間復(fù)雜度為O(1),那么我們就不能額外開辟一個(gè)數(shù)組來記錄每個(gè)元素出現(xiàn)的次數(shù)

這里,給大家介紹一個(gè)全新的方法:位運(yùn)算——異或^

注:如果對位運(yùn)算符還不太了解,建議先看看??位運(yùn)算詳解

異或的特性:

異或是支持交換律的:a ^ b ^ c = b ^ a ^ c

a ^ a = 0相同的數(shù)異或?yàn)?

0 ^ a = a一個(gè)數(shù)和0異或得到的還是本身

那么我們就可以利用異或的這些特性,來解決這個(gè)問題。

題目告訴我們,數(shù)組中除某一個(gè)元素只出現(xiàn)一次外,其余元素都出現(xiàn)了兩次,那么我們將數(shù)組的所有元素都異或到一起,不就可以得到只出現(xiàn)一次的那一個(gè)數(shù)了嗎?

實(shí)現(xiàn)代碼

int singleNumber(int* nums, int numsSize)
{
    int ret = 0;
    for(int i = 0; i < numsSize; i++)
        ret ^= nums[i];

    return ret;
}

通過這一道題,最重要的就是掌握異或的特性,這有利于后續(xù)許多問題的解決文章來源地址http://www.zghlxwxcb.cn/news/detail-617470.html

到了這里,關(guān)于每日一題——只出現(xiàn)一次的數(shù)字的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    2024年01月21日
    瀏覽(24)
  • leetcode 137. 只出現(xiàn)一次的數(shù)字 II

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

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

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

    實(shí)現(xiàn)代碼 為什么要用unsigned int呢,因?yàn)榛蜃笠埔绯鰣?bào)錯(cuò),例如, Line 13: Char 13: runtime error: left shift of 2147483646 by 1 places cannot be represented in type ‘int’ [solution.c] 左移的高位如果超過符號(hào)位,就會(huì)報(bào)錯(cuò)。因此要用類型強(qiáng)制轉(zhuǎn)換來 unsigned 來接住。 提交結(jié)果 解題思想 參考的是這兩

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

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

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

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

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

    2024年02月16日
    瀏覽(20)
  • 劍指offer(C++)-JZ56:數(shù)組中只出現(xiàn)一次的兩個(gè)數(shù)字(算法-位運(yùn)算)

    劍指offer(C++)-JZ56:數(shù)組中只出現(xiàn)一次的兩個(gè)數(shù)字(算法-位運(yùn)算)

    作者:翟天保Steven 版權(quán)聲明:著作權(quán)歸作者所有,商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處 題目描述: 一個(gè)整型數(shù)組里除了兩個(gè)數(shù)字只出現(xiàn)一次,其他的數(shù)字都出現(xiàn)了兩次。請寫程序找出這兩個(gè)只出現(xiàn)一次的數(shù)字。 數(shù)據(jù)范圍:數(shù)組長度2≤n≤1000,數(shù)組中每個(gè)數(shù)

    2024年02月10日
    瀏覽(22)
  • (位運(yùn)算) 1356. 根據(jù)數(shù)字二進(jìn)制下 1 的數(shù)目排序 ——【Leetcode每日一題】

    (位運(yùn)算) 1356. 根據(jù)數(shù)字二進(jìn)制下 1 的數(shù)目排序 ——【Leetcode每日一題】

    難度:簡單 給你一個(gè)整數(shù)數(shù)組 arr 。請你將數(shù)組中的元素按照其二進(jìn)制表示中數(shù)字 1 的數(shù)目升序排序。 如果存在多個(gè)數(shù)字二進(jìn)制中 1 的數(shù)目相同,則必須將它們按照數(shù)值大小升序排列。 請你返回排序后的數(shù)組。 示例 1: 輸入 :arr = [0,1,2,3,4,5,6,7,8] 輸出 :[0,1,2,4,8,3,5,6,7] 解釋

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

    問題: 給你一個(gè)? 非空 ?整數(shù)數(shù)組? nums ?,除了某個(gè)元素只出現(xiàn)一次以外,其余每個(gè)元素均出現(xiàn)兩次。找出那個(gè)只出現(xiàn)了一次的元素。 你必須設(shè)計(jì)并實(shí)現(xiàn)線性時(shí)間復(fù)雜度的算法來解決此問題,且該算法只使用常量額外空間。 示例: 示例 1 : 示例 2 : 示例 3 : 思想: 由于

    2024年02月07日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包