iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
自我挑戰組

從零開始學習LeetCode系列 第 6

Day6 Single Number II

  • 分享至 

  • xImage
  •  
  1. 是 Single Number 的延伸題
  2. 題目比較:
    Single Number
    •陣列中,每個數字都出現兩次,只有一個數字出現一次
    •要找到這個只出現一次的數字
    •常見解法:暴力法、HashMap 計數法、XOR 位元運算
    **Single Number II **
    • 陣列中,每個數字都出現 三次,只有一個數字出現一次。
    • 要找到這個只出現一次的數字。
    • 暴力法可以解,但效率差;最佳解通常需要 位元操作技巧。

題目:給定一個整數陣列 nums,其中除了某個元素只出現一次以外,其餘每個元素均出現 三次。
請你找出那個只出現一次的元素。
https://ithelp.ithome.com.tw/upload/images/20250920/20169339wfheJydyeO.jpg


解法一
https://ithelp.ithome.com.tw/upload/images/20250920/20169339oDvjOX1mpd.jpg

  • 直接數每個數字出現次數,找到出現 1 次的數字。
  • 不推薦

解法二
https://ithelp.ithome.com.tw/upload/images/20250920/20169339xUnqxdAAY9.jpg

  • HashMap
  • 用字典(dict / Counter)統計每個數字出現次數,找出 count == 1 的

解法三(比較難)
https://ithelp.ithome.com.tw/upload/images/20250920/20169339N1xIATLggc.jpg

  • 位元運算(最佳解)
  • 每個數字的二進位,每一 bit 出現次數 % 3,剩下的就是答案

上一篇
Day5 Single Number
下一篇
Day7 Contains Duplicate
系列文
從零開始學習LeetCode8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言