iT邦幫忙

2025 iThome 鐵人賽

0

題目說明

  1. Contains Duplicate
    給你一個整數陣列 nums,請判斷陣列中是否 存在重複元素。
    • 如果存在至少一個重複元素,回傳 true
    • 如果每個元素都唯一,回傳 false

範例

Input: [1,2,3,1]
Output: true

Input: [1,2,3,4]
Output: false

Input: [1,1,1,3,3,4,3,2,4,2]
Output: true

程式碼

Python 解法

def containsDuplicate(nums):
seen = set()
for num in nums:
if num in seen:
return True
seen.add(num)
return False

Java 解法

import java.util.*;
class Solution {
public boolean containsDuplicate(int[] nums) {
Set seen = new HashSet<>();
for (int num : nums) {
if (seen.contains(num)) return true;
seen.add(num);
}
return false;
}
}

Java vs Python 差異
• Python 用 set(),Java 用 HashSet
• Python 用 in 判斷元素是否存在,Java 用 contains()
• 核心邏輯相同:用額外空間紀錄出現過的元素,一旦重複就回傳 True

複雜度分析
• 時間複雜度:O(n),每個元素最多查找和插入一次
• 空間複雜度:O(n),最壞情況下所有元素都存入 Set


上一篇
day 24 Group Anagrams
下一篇
day 26 Search Insert Position
系列文
不熟程式的我在leetcode打滾30天30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言