題目:

官網題目連結

根據題目敘述,會給定一個整數陣列 nums,你必須判斷 nums 中是否有元素值是重複出現的,若有則回傳 true,沒有則回傳 false。

例如輸入 nums=[1, 2, 3, 1],由於元素值 1 重複出現,所以回傳 true。
而若輸入 nums=[1, 2, 3, 4],由於元素值都沒有重複出現,所以回傳 false。

  • 1 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9

解法:

這題比 TwoSum 更簡單,因為我們不需要知道重複的元素分別在哪裡,只需要知道當檢查到重複元素值時就回傳 true 就好。

所以一樣可以花一點空間來換時間,也就是用另一個陣列來邊找邊記錄我們已找過的值,當發現 nums[i] 已經有找過時,就代表要回傳 true。

PHP 程式碼: