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

看板Marginalman作者時間1年前 (2024/05/31 11:57), 編輯推噓1(103)
留言4則, 4人參與, 1年前最新討論串301/1554 (看更多)
260. Single Number III 很直覺的全部做xor答案以外會被消掉 接下來就是想辦法找出這兩數 這部分就有點卡住 xor出來該位值1代表兩數該位相異 依照該位將數列分成兩部分 因為同樣的數也會被分在一起 所以xor後就是答案 別問我怎麼想到的== 還沒看討論不知道有沒有更好的做法 class Solution { public: vector<int> singleNumber(vector<int>& nums) { int sum = 0; for(int n : nums){ sum ^= n; } int base = 1; while(!(sum & base)) base <<= 1; int even = 0, odd = 0; for(int n : nums){ if(n & base) even ^= n; else odd ^= n; } return {odd, even}; } }; -- 悠閒的 平凡的 瑣碎的 無意義的 https://i.imgur.com/sMJiZp3.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.50.252 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1717127870.A.21E.html

05/31 12:04, 1年前 , 1F
大師
05/31 12:04, 1F

05/31 12:05, 1年前 , 2F
大師
05/31 12:05, 2F

05/31 12:11, 1年前 , 3F
好噁
05/31 12:11, 3F

05/31 13:01, 1年前 , 4F
大師
05/31 13:01, 4F
文章代碼(AID): #1cMKg-8U (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cMKg-8U (Marginalman)