日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode:剑指offer----数组中重复的数字

發(fā)布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode:剑指offer----数组中重复的数字 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目:

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

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

示例1:

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

解題方法:

  • C++解決

利用C++的STL中的set或者unordered_set不允許重復(fù)值的特性來解決。通過名字可以看出來,set內(nèi)部的數(shù)據(jù)是有序的,unordered_set內(nèi)部的數(shù)據(jù)為無序,所以在不需要排序時,unorder_set會比set的效果好。

#include <iostream> #include <set> #include <unordered_set>int main() {set<int> orderSet;unordered_set<int> unorderSet;//返回set容器中的第一個元素int begin = orderSet.begin();//返回set容器中的最后一個元素int end = orderSet.end();//刪除set容器中的所有元素orderSet.clear();//判斷容器是否為空bool isEmpty = orderSet.empty();//返回set容器中的元素個數(shù)int size = orderSet.size();//返回一個指向被查到元素的迭代器set<int>::iterator it;it = orderSet.find(target);//向set容器中添加一個元素orderSet.insert(5);return 0; }
  • python解決

python中同樣利用set集合來實(shí)現(xiàn)該問題

def findRepeatNumber(nums):s = set()for num in nums:#得到set集合內(nèi)部元素格式length = len(s)#往set集合中添加元素s.add(num)if len(s) == length:return numelse:continuereturn None

總結(jié)

以上是生活随笔為你收集整理的leetcode:剑指offer----数组中重复的数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。