iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

用LeetCode來訓練大腦的邏輯思維系列 第 16

LeetCode 136. Single Number

  • 分享至 

  • xImage
  •  

題目

Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

題意

找出陣列中,唯一一個沒有重複的值。
考慮到空間複雜度,無須額外的陣列是否能解決?

Example 1:

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

Example 2:

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

解題想法

先排序陣列,
唯一值的條件是,不論前後都不會有相同的值。

Solution

var singleNumber = function(nums) {
   nums.sort(function(a, b) {
        return a - b
    })
    
    for (let i = 0; i < nums.length; i += 2) {
        if (nums[i] !== nums[i+1] && nums[i] !== nums[i-1]) {
            return nums[i]
        }
    }
};

上一篇
LeetCode 122. Best Time to Buy and Sell Stock II
下一篇
LeetCode 168. Excel Sheet Column Title
系列文
用LeetCode來訓練大腦的邏輯思維30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言