【找出最长等值子数组】python

python 复制代码
class Solution:
    def longestEqualSubarray(self, nums: List[int], k: int) -> int:
        n=len(nums)
        if n<2:
            return n
        mx=1
        for i,num in enumerate(nums):
            error=0
            flag=1
            for j in range(i+1,n):
                if nums[j]==num:
                    flag+=1
                    mx=max(mx,flag)
                else:
                    error+=1
                    if error>k:
                        break
        return mx

暴力循环超时

使用双指针改造

python 复制代码
class Solution:
    def longestEqualSubarray(self, nums: List[int], k: int) -> int:
        d, ans = defaultdict(list), 1
        for i, x in enumerate(nums): d[x].append(i)
        for lst in d.values():
            i, j, n = 0, 0, len(lst)
            while i < n:
                while j < n and lst[j] - lst[i] <= j - i + k: j += 1
                ans, i = max(ans, j - i), i + 1
        return ans
相关推荐
风一样的树懒1 小时前
Python使用pip安装Caused by SSLError:certificate verify failed
人工智能·python
Felix_12151 小时前
2025 西电软工数据结构机考 Tip (By Felix)
算法
测试最靓仔2 小时前
allure报告修改默认语言为中文
python·自动化
AI视觉网奇2 小时前
imageio 图片转mp4 保存mp4
python
飞yu流星3 小时前
C++ 函数 模板
开发语言·c++·算法
pursuit_csdn3 小时前
力扣 74. 搜索二维矩阵
算法·leetcode·矩阵
labuladuo5203 小时前
洛谷 P8703 [蓝桥杯 2019 国 B] 最优包含(dp)
算法·蓝桥杯·动态规划
凡人的AI工具箱3 小时前
每天40分玩转Django:Django DevOps实践指南
运维·后端·python·django·devops
shaxin观yin3 小时前
python反序列化+沙箱逃逸++js+redis
python·学习·https
专注于开发微信小程序打工人3 小时前
庐山派k230使用串口通信发送数据驱动四个轮子并且实现摄像头画面识别目标检测功能
开发语言·python