當前位置:
首頁 >
【LeetCode笔记】287. 寻找重复数(Java、快慢指针、原地、链表)
發布時間:2024/7/23
51
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】287. 寻找重复数(Java、快慢指针、原地、链表)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 思路 & 代碼
- 更新
題目描述
- 可以理解成數組版本的 環形鏈表 II
- 更多詳細思路可見以上超鏈接。
思路 & 代碼
- 如何轉化成邏輯上的鏈表?
- nums[i] 是 第 i 個結點的 next 指針
- 構造成一個有 nums.length - 重復次數 個結點的鏈表
- 如此,該鏈表中肯定成環(可以自己畫數組轉化成邏輯上的鏈表圖理解下)
- 時間復雜度 O(n),空間復雜度 O(1),未修改數組,
- 重復證明(slow 路程超過 nums.length / 2即可)
更新
- 主要是不能修改原數組
- 數字轉換成節點,重復數字相當于多個數字表示一個節點
- 根據存儲值對應下標,來構造鏈表關系。
總結
以上是生活随笔為你收集整理的【LeetCode笔记】287. 寻找重复数(Java、快慢指针、原地、链表)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode笔记】7.整数反转(J
- 下一篇: 【LeetCode笔记】543. 二叉树