【找出最长等值子数组】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
相关推荐
吃着火锅x唱着歌8 小时前
LeetCode 447.回旋镖的数量
算法·leetcode·职场和发展
我能坚持多久8 小时前
【初阶数据结构08】——深入理解树与堆
数据结构·算法
weixin199701080168 小时前
开山网商品详情页前端性能优化实战
java·前端·python
Trouvaille ~8 小时前
【贪心算法】专题(一):从局部到全局,数学证明下的最优决策
c++·算法·leetcode·面试·贪心算法·蓝桥杯·竞赛
前端付豪8 小时前
实现学习报告统计面板
前端·python·llm
iAkuya8 小时前
(leetcode)力扣100 92.最小路径和(动态规划)
算法·leetcode·动态规划
shehuiyuelaiyuehao8 小时前
算法5,有效三角形个数
算法·leetcode·排序算法
AC赳赳老秦8 小时前
国产化AI运维新趋势:DeepSeek赋能国产算力部署的高效故障排查
大数据·人工智能·python·django·去中心化·ai-native·deepseek
1941s8 小时前
01-LLM 基础与提示词工程:从 API 调用到 Prompt 优化技巧
人工智能·python·prompt
python猿8 小时前
打卡Python王者归来--第28天
python