Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (大空スバル的香腸)時間2年前 (2023/02/21 10:50), 編輯推噓0(004)
留言4則, 2人參與, 2年前最新討論串242/719 (看更多)
540. Single Element in a Sorted Array 題目: 給一個排列過的int陣列,裡面的元素都正好出現2次, 除了某一元素只會出現一次,找出他並回傳他的值, 需要在O(logn)時間及O(1)空間內完成 Example 1: Input: nums = [1,1,2,3,3,4,4,8,8] Output: 2 Example 2: Input: nums = [3,3,7,7,10,11,11] Output: 10 思路: 應該要用二元搜尋做 但我直接用for 我就爛 因為nums[i]會等於nums[i+1] 直到單一的元素出現 找到他回傳就好 ================================= python code : class Solution: def singleNonDuplicate(self, nums: List[int]) -> int: n = len(nums) for i in range(0, n, 2) : if i+1 < n and nums[i+1] != nums[i] : return nums[i] return nums[i] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.102.138 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1676947803.A.20D.html

02/21 10:51, 2年前 , 1F
你時間複雜度沒達標阿 等於沒求得解
02/21 10:51, 1F

02/21 10:59, 2年前 , 2F
不過這樣也給過 好神奇XDD
02/21 10:59, 2F

02/21 10:59, 2年前 , 3F

02/21 11:01, 2年前 , 4F
LC有些題目本來就是因為有時間和空間複雜度限制才難
02/21 11:01, 4F
文章代碼(AID): #1Zz35R8D (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1Zz35R8D (Marginalman)