大家好,我是吳師兄,不啰嗦,直接開始今天的算法學(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)投訴
原文標(biāo)題:數(shù)組中重復(fù)的數(shù)字,怎么找?
文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
最近有同學(xué)發(fā)來這樣一段代碼,并提出一個(gè)問題,數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)? ? ? #include int main(){ const char *s = "helloworld"; const
發(fā)表于 12-20 11:18
?135次閱讀
] = { "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ù)組
發(fā)表于 11-20 15:33
?0次下載
今天我們來揭開Air780E 軟件中 C 語言內(nèi)存數(shù)組的神秘面紗,希望有所收獲。
發(fā)表于 11-17 10:00
?285次閱讀
1.怎樣找出住宅中的電路火災(zāi)隱患呢 1.1電線超載 ?如果保險(xiǎn)絲燒斷,繼電器重復(fù)跳閘,電燈發(fā)暗,或者聞到金屬或塑料焦糊味,那么這是一個(gè)危險(xiǎn)信號(hào):要么是電線發(fā)生故障,要么是負(fù)載過大。要更換電線或增容
發(fā)表于 10-17 09:10
?288次閱讀
在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ù)接地是一種在中性點(diǎn)直接接地的電力系統(tǒng)中采用的技術(shù)措施,通過在零干線的一個(gè)或多個(gè)位置用金屬導(dǎo)線將接地裝置連接起來。這 種措施主要應(yīng)用于低壓三相四線制中性點(diǎn)直接接地的配電線路中。在施工過程中
發(fā)表于 08-15 11:23
?1083次閱讀
大家在stm8中數(shù)組要 怎么定義像 51中的code unsigned chara[] ?????
我直接 用 code unsigned chara[].
STVD 編譯報(bào)錯(cuò)
發(fā)表于 05-13 08:52
C語言零長度數(shù)組,聽起來可能有點(diǎn)奇怪,因?yàn)樗鼪]有分配內(nèi)存空間,無法存儲(chǔ)數(shù)據(jù)。但實(shí)際上,零長度數(shù)組在Linux內(nèi)核中隨處可見。 零長度數(shù)組的定義 首先,我們要明白什么是零長度
發(fā)表于 05-11 08:49
?1006次閱讀
在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次閱讀
如果 CHAR 類型數(shù)組的所有數(shù)組元素都擁有相同的字符串,則不必單獨(dú)初始化每個(gè)數(shù)組元素。忽略右側(cè)的數(shù)組下標(biāo)。(對(duì)于一維數(shù)組下標(biāo),不寫下標(biāo)。)
發(fā)表于 04-18 10:37
?1301次閱讀
數(shù)組對(duì)象是使用單獨(dú)的變量名來存儲(chǔ)一系列的值。
數(shù)組非常常用。
發(fā)表于 04-09 14:38
?1209次閱讀
如果想從一個(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次閱讀
數(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ū)別,這個(gè)問題,不僅面試中經(jīng)常遇到,考研的同學(xué)也得掌握才行。
發(fā)表于 02-19 15:33
?544次閱讀
評(píng)論