劍指Offer 03 學習筆記

2021-10-07 15:27:35 字數 482 閱讀 1152

找出陣列中重複的數字。

在乙個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。

示例 1:

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

輸出:2 或 3

陣列nums長度位n,而其中所有的數範圍為0~n-1之間,即陣列中的所有數的大小都小於陣列長度,而題目僅僅要求找到一組重複數字。

解題一:可以採用陣列交換,先迴圈遍歷一次,讓所有的陣列的下標數等於該陣列下標數內的數字(即nums[i] = i )只要下次再執行該過程,陣列的下標數已經等於該陣列下標數內的數字,則找到該重複數字了。

class solution else if(nums[j] == nums[j+1])

}

}return -1;

}}

劍指offer03逆向輸出鍊錶

輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。先反轉鍊錶,再存入vector 注意鍊錶 next的時候,都判斷下此時是否為空,不然很容易越界 struct listnode class solution 將鍊錶反置 listnode pre head listnode t pre n...

劍指offer03 陣列中重複的數字

在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 1 輸入 2,3,1,0,2,5,3 輸出 2 或 3限制 2 n 100000 首先拿到這道題最先想到的是...

劍指Offer03 陣列中重複的數字

劍指offer典型題整理 爭取做最好的題解 題目描述 在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 輸入 2,3,1,0,2,5,3 輸出 2 或 3 限...