Leetcode 2958. Length of Longest Subarray With at Most K Frequency

  • Leetcode 2958. Length of Longest Subarray With at Most K Frequency
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2958. Length of Longest Subarray With at Most K Frequency

1. 解题思路

这一题思路上其实也很简单,就是一个滑动窗口的思路,遍历窗口的左边界,平移获得使得其内部字符的frequency不超过k的最大右边界,然后取各个窗口长度的最大值即可。

显然左右边界都是单调的,因此整体算法复杂度就是 O ( N ) O(N) O(N)

2. 代码实现

给出python代码实现如下:

class Solution:
    def maxSubarrayLength(self, nums: List[int], k: int) -> int:
        i, j, n = 0, 0, len(nums)
        cnt = defaultdict(int)
        ans = 0
        while j < n:
            x = nums[j]
            cnt[x] += 1
            j += 1
            while cnt[x] > k:
                cnt[nums[i]] -= 1
                i += 1
            ans = max(ans, j-i)
        return ans

提交代码评测得到:耗时1272ms,占用内存31.2MB。


http://www.niftyadmin.cn/n/5254460.html

相关文章

力扣17. 电话号码的字母组合(java 回溯法)

Problem: 17. 电话号码的字母组合 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 题目给定一串数字&#xff0c;要求我们找出所有可能的字母组合&#xff0c;即我们可以穷举出所有可能的结果&#xff0c;而涉及到穷举我们自然可以想到利用回溯来解决问题&#xff0c…

###项目技术发展史

1.前端HTML&#xff0c;css,js静态 2.jsp,servlet前后端大融合&#xff08;混乱&#xff09;&#xff0c;虽然jsp扩展了html功能&#xff0c;但是代码太混乱。jsp既要显示页面&#xff0c;又要请求&#xff0c;又要进行逻辑处理&#xff0c;又要连接数据库。 3.前后端代码分离&…

成都工业学院Web技术基础(WEB)实验七:Date、Math、Array对象使用

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考&#xff0c;前端变化比较大&#xff0c;按照要求&#xff0c;只能做到像&#xff0c;不能做到一模一样 3、图片和文字仅为示例&#xff0c;需要自行替换 4、如果代码不满足你的要求&#xff0c;请寻求其他的…

GD32F30X-RT-Thread学习-线程管理

1. 软硬件平台 GD32F307E-START Board开发板MDK-ARM Keil 2.RT-Thread Nano 3.RT-Thread 内核学习-线程管理 ​ 在多线程操作系统中&#xff0c;可以把一个复杂的应用分解成多个小的、可调度的、序列化的程序单元&#xff0c;当合理地划分任务并正确地执行时&#xff0c;这…

面试经典150题(10-13)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第四天&#xff09;完成了4道(10-13)150&#xff1a; 10. &#xff08;45. 跳跃游戏 II&#xff09;题目描述&#xff1a; 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[…

15:00面试,15:06就出来了,问的问题太变态了。。

刚从小厂出来&#xff0c;没想到在另一家公司我又寄了。 在这家公司上班&#xff0c;每天都要加班&#xff0c;但看在钱给的比较多的份上&#xff0c;也就不太计较了。但万万没想到5月一纸通知&#xff0c;所有人不准加班了&#xff0c;不仅加班费没有了&#xff0c;薪资还要降…

基于SpringBoot+Vue社区医院服务系统(Java毕业设计)

点击咨询源码 大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的…

Kafka及Kafka消费者的消费问题及线程问题

Kafka 一、Kafka中的基本信息kafka中topic、broker、partition、及customer和producer等的对应关系Window安装配置kafka和zookeeper并将其加入服务的方式 二、 Kafka消费者的消费问题及线程问题kafka中不同topic使用同一个Group Id会出现的问题分析高效的消费一个Topickafka避免…