Re: [闲聊] 每日leetcode

楼主: DJYOMIYAHINA (通通打死)   2025-10-15 23:53:05
记下严格递增数
再用binary search爆搜
应该吧
一二三四五
def maxIncreasingSubarrays(self, nums: List[int]) -> int:
dp = [0 for _ in range(len(nums))]
pre = nums[0]
dp[0] = 1
for i in range(1, len(nums)):
if nums[i]>pre:
dp[i] = dp[i-1]+1
else:
dp[i] = 1
pre = nums[i]
# print(dp)
l,r = 1, len(nums)//2+1
while l<r:
mid = (l+r)//2
flag = False
for i in range(mid-1, len(nums)-mid):
# print(i+mid, i)
if dp[i+mid]>=mid and dp[i]>=mid:
flag = True
break
# print(mid, flag)
if flag:
l = mid+1
else:
r = mid
return l-1
作者: SecondRun (雨夜琴声)   2025-10-15 23:55:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com