0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何從數(shù)組中找出重復(fù)的數(shù)字

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:五分鐘學(xué)算法 ? 作者:程序員吳師兄 ? 2021-10-28 16:56 ? 次閱讀

大家好,我是吳師兄,不啰嗦,直接開始今天的算法學(xué)習(xí),沖沖沖。

一、題目描述

找出數(shù)組中重復(fù)的數(shù)字。

在一個(gè)長度為 n 的數(shù)組 nums 里的所有數(shù)字都在 0~n-1 的范圍內(nèi)。數(shù)組中某些數(shù)字是重復(fù)的,但不知道有幾個(gè)數(shù)字重復(fù)了,也不知道每個(gè)數(shù)字重復(fù)了幾次。

請(qǐng)找出數(shù)組中任意一個(gè)重復(fù)的數(shù)字。

示例 1:

輸入:
[2,3,1,0,2,5,3]
輸出:2 或 3

二、保姆級(jí)參考代碼

//登錄AlgoMooc官網(wǎng)獲取更多算法圖解
//https://www.algomooc.com
//作者:程序員吳師兄
classSolution{
publicintfindRepeatNumber(int[]nums){

//HashSet的特點(diǎn)是不會(huì)存儲(chǔ)重復(fù)元素
//所以可以利用HashSet來查找出重復(fù)的元素
Setdic=newHashSet<>();

//遍歷數(shù)組,設(shè)置此時(shí)遍歷的元素為num
for(intnum:nums){

//如果發(fā)現(xiàn)dic中已經(jīng)存儲(chǔ)了num
//那么說明找到了重復(fù)的那個(gè)元素
if(dic.contains(num)){
//把num這個(gè)結(jié)果進(jìn)行返回
returnnum;

//否則的話,說明dic中還沒有存儲(chǔ)num
}else{
//把num添加到dic中
dic.add(num);
}

}

//由于nums中所有的數(shù)字都在0~n-1的范圍內(nèi)
//所以負(fù)數(shù),比如-1必然不在nums這個(gè)范圍內(nèi)
//如果沒有找到重復(fù)的數(shù)字,那么返回-1
return-1;
}
}

責(zé)任編輯:haq


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4624

    瀏覽量

    93110
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25988

原文標(biāo)題:數(shù)組中重復(fù)的數(shù)字,怎么找?

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)

    最近有同學(xué)發(fā)來這樣一段代碼,并提出一個(gè)問題,數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)? ? ? #include int main(){ const char *s = "helloworld"; const
    的頭像 發(fā)表于 12-20 11:18 ?135次閱讀

    指針數(shù)組和二維數(shù)組有沒有區(qū)別

    ] = { "hello", "world", "total" }; return 0;} 后面的初始化方式可以看出,他們好像一樣,里面都保存了三個(gè)字符串。 想要搞清楚他們的區(qū)別,還得看下他們?cè)趦?nèi)存的排布
    的頭像 發(fā)表于 11-24 11:12 ?196次閱讀

    C語言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組

    C語言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組
    發(fā)表于 11-20 15:33 ?0次下載

    解讀版|Air780E軟件C語言內(nèi)存數(shù)組的神秘面紗!

    今天我們來揭開Air780E 軟件 C 語言內(nèi)存數(shù)組的神秘面紗,希望有所收獲。
    的頭像 發(fā)表于 11-17 10:00 ?285次閱讀
    解讀版|Air780E軟件<b class='flag-5'>中</b>C語言內(nèi)存<b class='flag-5'>數(shù)組</b>的神秘面紗!

    如何找出住宅的電路火災(zāi)隱患?

    1.怎樣找出住宅的電路火災(zāi)隱患呢 1.1電線超載 ?如果保險(xiǎn)絲燒斷,繼電器重復(fù)跳閘,電燈發(fā)暗,或者聞到金屬或塑料焦糊味,那么這是一個(gè)危險(xiǎn)信號(hào):要么是電線發(fā)生故障,要么是負(fù)載過大。要更換電線或增容
    的頭像 發(fā)表于 10-17 09:10 ?288次閱讀
    如何<b class='flag-5'>找出</b>住宅<b class='flag-5'>中</b>的電路火災(zāi)隱患?

    labview字符串數(shù)組轉(zhuǎn)化為數(shù)值數(shù)組

    在LabVIEW,將字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組是一項(xiàng)常見的任務(wù),尤其是在處理數(shù)據(jù)采集、信號(hào)處理或用戶輸入時(shí)。 1. 理解LabVIEW的數(shù)據(jù)類型 在開始之前,了解LabVIEW的數(shù)據(jù)
    的頭像 發(fā)表于 09-04 17:47 ?2633次閱讀

    重復(fù)接地的作用與實(shí)施

    重復(fù)接地是一種在中性點(diǎn)直接接地的電力系統(tǒng)采用的技術(shù)措施,通過在零干線的一個(gè)或多個(gè)位置用金屬導(dǎo)線將接地裝置連接起來。這 種措施主要應(yīng)用于低壓三相四線制中性點(diǎn)直接接地的配電線路。在施工過程
    的頭像 發(fā)表于 08-15 11:23 ?1083次閱讀

    在stm8數(shù)組要怎么定義 ?

    大家在stm8數(shù)組要 怎么定義像 51的code unsigned chara[] ????? 我直接 用 code unsigned chara[]. STVD 編譯報(bào)錯(cuò)
    發(fā)表于 05-13 08:52

    嵌入式零長度數(shù)組基本操作方法

    C語言零長度數(shù)組,聽起來可能有點(diǎn)奇怪,因?yàn)樗鼪]有分配內(nèi)存空間,無法存儲(chǔ)數(shù)據(jù)。但實(shí)際上,零長度數(shù)組在Linux內(nèi)核隨處可見。 零長度數(shù)組的定義 首先,我們要明白什么是零長度
    的頭像 發(fā)表于 05-11 08:49 ?1006次閱讀
    嵌入式<b class='flag-5'>中</b>零長度<b class='flag-5'>數(shù)組</b>基本操作方法

    AWTK 開源串口屏開發(fā)(17) - 通過 MODBUS 訪問數(shù)組數(shù)據(jù)

    在AWTK串口屏,內(nèi)置MODBUS客戶端通道模型,不用編寫代碼即可實(shí)現(xiàn)在ListView顯示遠(yuǎn)程設(shè)備上的數(shù)組數(shù)據(jù)。1.功能不用編寫代碼,實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備上數(shù)組數(shù)據(jù)的顯示。2.創(chuàng)建項(xiàng)目
    的頭像 發(fā)表于 04-29 08:25 ?369次閱讀
    AWTK 開源串口屏開發(fā)(17) - 通過 MODBUS 訪問<b class='flag-5'>數(shù)組</b>數(shù)據(jù)

    深入探索KUKA KRL數(shù)組應(yīng)用

    如果 CHAR 類型數(shù)組的所有數(shù)組元素都擁有相同的字符串,則不必單獨(dú)初始化每個(gè)數(shù)組元素。忽略右側(cè)的數(shù)組下標(biāo)。(對(duì)于一維數(shù)組下標(biāo),不寫下標(biāo)。)
    的頭像 發(fā)表于 04-18 10:37 ?1301次閱讀
    深入探索KUKA KRL<b class='flag-5'>中</b>的<b class='flag-5'>數(shù)組</b>應(yīng)用

    鴻蒙TypeScript入門學(xué)習(xí)第11天【Array(數(shù)組)】

    數(shù)組對(duì)象是使用單獨(dú)的變量名來存儲(chǔ)一系列的值。 數(shù)組非常常用。
    的頭像 發(fā)表于 04-09 14:38 ?1209次閱讀
    鴻蒙TypeScript入門學(xué)習(xí)第11天【Array(<b class='flag-5'>數(shù)組</b>)】

    隨機(jī)抽取SV數(shù)組的一個(gè)元素方法實(shí)現(xiàn)

    如果想從一個(gè)關(guān)聯(lián)數(shù)組隨機(jī)選取一個(gè)元素,需要逐個(gè)訪問它之前的元素,原因是沒辦法能夠直接訪問到第N個(gè)元素。上面的程序示范了如何從一個(gè)以整數(shù)值作為索引**的關(guān)聯(lián)數(shù)組隨機(jī)選取一個(gè)元素。
    的頭像 發(fā)表于 03-21 10:11 ?1068次閱讀
    隨機(jī)抽取SV<b class='flag-5'>數(shù)組</b><b class='flag-5'>中</b>的一個(gè)元素方法實(shí)現(xiàn)

    數(shù)組和鏈表在內(nèi)存的區(qū)別 數(shù)組和鏈表的優(yōu)缺點(diǎn)

    數(shù)組和鏈表在內(nèi)存的區(qū)別 數(shù)組和鏈表的優(yōu)缺點(diǎn)? 數(shù)組和鏈表是常見的數(shù)據(jù)結(jié)構(gòu),用于組織和存儲(chǔ)數(shù)據(jù)。它們?cè)趦?nèi)存的存儲(chǔ)方式以及優(yōu)缺點(diǎn)方面存在一些
    的頭像 發(fā)表于 02-21 11:30 ?1082次閱讀

    數(shù)組和鏈表有何區(qū)別

    數(shù)組和鏈表的區(qū)別,這個(gè)問題,不僅面試中經(jīng)常遇到,考研的同學(xué)也得掌握才行。
    的頭像 發(fā)表于 02-19 15:33 ?544次閱讀
    <b class='flag-5'>數(shù)組</b>和鏈表有何區(qū)別