Re: [閒聊] 每日leetcode

作者: JerryChungYC (JerryChung)   2024-09-14 09:34:23
https://leetcode.com/problems/longest-subarray-with-maximum-bitwise-and
2419. Longest Subarray With Maximum Bitwise AND
給一個 n 大小的整數數組 nums
考慮非空子數組 具有最大可能的位元組合值 (bitwise AND)
回傳最長子數組的長度
數組的位元組合值是數組中所有數字的 bitwise AND
子數組是數組中連續的元素序列
Example 1:
Input: nums = [1,2,3,3,2,2]
Output: 2
Explanation: 最大的是 3 而為 3 的最長子數組是 [3,3] 長度為 2
Example 2:
Input: nums = [1,2,3,4]
Output: 1
Explanation: 最大的是 4 最常子數組是 [4] 回傳 1
Constraints:
1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6
思路:原本看不懂 問了一下 ChatGPT 看起來就是先找到最大值 再看有幾個最大值
class ...
def ...
return nums.count(max(nums))
很明顯的答錯了
再確認一次題目 才知道要連續的才算
那麼就跑一次 nums 找出哪個區段長度最長
Python Code:
class Solution:
def longestSubarray(self, nums: List[int]) -> int:
max_num = max(nums)
ans = temp = 0
for num in nums:
if num == max_num:
temp += 1
else:
ans = max(ans, temp)
temp = 0
return max(ans, temp)
非最大值就比較一次 ans 跟 temp 最後跑完再比較一次
有空再去想有沒有更好的解法
作者: Firstshadow (IamCatづミ'_'ミづ)   2024-09-14 09:35:00
大師
作者: DJYOMIYAHINA (通通打死)   2024-09-14 10:36:00
早早早

Links booklink

Contact Us: admin [ a t ] ucptt.com