【找出最长等值子数组】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
相关推荐
测试老哥7 分钟前
基于Pytest接口自动化的requests模块项目实战以及接口关联方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
疯狂吧小飞牛22 分钟前
无锁编程–C语言
c语言·数据结构·c++·算法
梦深时有鹿29 分钟前
C#基础上机练习题
数据结构·算法·c#
HUT_Tyne26543 分钟前
力扣--LCR 154.复杂链表的复制
java·leetcode·链表
2303_Alpha1 小时前
数据结构——哈夫曼编码
c语言·数据结构·笔记·算法·图论
成为不掉头发的工程师1 小时前
conda下载与pip下载的区别
开发语言·python
skaiuijing1 小时前
Sparrow系列拓展篇:对信号量应用问题的深入讨论
c语言·开发语言·算法·中间件·操作系统
灰末1 小时前
[第15次CCFCSP]数据中心
数据结构·c++·算法·图论·kruskal
qystca1 小时前
洛谷 P1049 [NOIP2001 普及组] 装箱问题 C语言 记忆化搜索->‘倒序‘dp->‘正序‘dp
c语言·数据结构·算法
lisacumt1 小时前
【spark】pyspark kerberos 案例,即pyspark-utils客户端工具类
大数据·python·spark