討論串[閒聊] 每日leetcode
共 1548 篇文章
內容預覽:
直覺greedy是想說,用最小的去換最大的. 然後就分兩個pq記. pq_1記basket_1比basket_2多的數量,並用min_pq. pq_2反之,記下basket_2比較多的數量,並用max_pq. 每次iter就是pq_1取最小跟pq_2取最大來換. 然後算cost. 不過就錯了 對啊.
(還有1073個字)
內容預覽:
題目:. 找出有幾個不同的subarray裡面的值or出來的值. 思路:. 記錄之後下一個會出現的所有bit的位子. 在每一個數字檢查的時候. 都只要檢查下一次會出現哪些bit. 然後or起來就好. 因為是int進行or的關係. 只要檢查32個就好. 這大概是N log32吧. 這題我思路好像蠻酷的
(還有1667個字)
內容預覽:
898. Bitwise ORs of Subarrays. 思路 :. 用三個map : rec、prev、cur. rec記錄所有出現過的or值. prev紀錄0~i-1所有可能的or值. cur紀錄prev裡的or值跟nums[i]or後的結果以及nums[i]自己本身. 最後回傳rec裡有多
(還有431個字)
內容預覽:
一開始往DP想 沒仔細想還以為會到O(N^2). 但仔細想了之後. 在同一個idx結尾的subarrays element-wise or起來最多只有32種可能而已. 所以能行. def subarrayBitwiseORs(self, arr: List[int]) -> int:. st = s
(還有122個字)