n个整数,其中有两个数是重复的,要求找出这两个重复的整数
生活随笔
收集整理的這篇文章主要介紹了
n个整数,其中有两个数是重复的,要求找出这两个重复的整数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
n個整數(shù),其中有兩個數(shù)是重復(fù)的,要求找出這兩個重復(fù)的整數(shù)
- 方法一
- 方法二
- 方法三
- 空間復(fù)雜度的計算
- 常量空間
- 線性空間
- 二維空間
- 遞歸空間
方法一
使用set集合
- 將每一個元素放到set集合中,加入的時候判斷集合中是否存在此元素,如果if判斷找到了這個元素,返回為true
方法二
- 使用map,形成一個字典;key是對應(yīng)的元素,value對應(yīng)出現(xiàn)的次數(shù)。
- 字典本身的時間復(fù)雜度是O(1),整個算法的時間復(fù)雜度是O(n)
- 所謂的字典 也叫散列表,需要開辟一段內(nèi)存來存儲有用的數(shù)據(jù)信息
- 空間復(fù)雜度:是指一個算法在運(yùn)行過程中臨時占用的存儲空間的大小的量度,同樣使用大寫的O表示
方法三
- 二重循環(huán) low 省略
空間復(fù)雜度的計算
常量空間
- 算法的存儲空間大小固定,和輸入規(guī)模沒有直接的關(guān)系 O(1)
線性空間
- 數(shù)組,申請的空間大小和輸入的規(guī)模成正比 O(n)
二維空間
- 集合輸入的規(guī)模的長度和寬度 都與輸入的規(guī)模n呈正比,O(n^2)
遞歸空間
- 遞歸調(diào)用 數(shù)據(jù)棧里面存儲的數(shù)據(jù)激增,只有遇到終止條件,進(jìn)行數(shù)據(jù)的出棧,返回最后的結(jié)果
- 遞歸操作所需要的內(nèi)存空間和遞歸的深度呈正比。純粹的遞歸操作的空間復(fù)雜度是線性的,如果遞歸的深度是n,那么空間復(fù)雜度是O(n)
總結(jié)
以上是生活随笔為你收集整理的n个整数,其中有两个数是重复的,要求找出这两个重复的整数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「原创」怎么找土豆网
- 下一篇: 中科大 计算机网络12 Web和HTTP