首页 > 其他分享 >力扣21 打卡15 长度为 K 的子数组的能量值 II

力扣21 打卡15 长度为 K 的子数组的能量值 II

时间:2024-11-13 10:49:51浏览次数:3  
标签:cnt 15 当前 nums 递增 元素 II 数组 打卡

思路:

该算法使用滑动窗口和计数器来判断每个长度为 ( k ) 的子数组是否满足连续递增的条件。遍历数组时,使用 cnt 记录当前连续递增的元素数。如果当前元素和前一个元素不连续递增,则将 cnt 重置为 1,否则增加 cnt。当 cnt 大于等于 ( k ) 时,表示找到了一个满足条件的子数组,将该子数组的最大元素(即当前元素)存入结果数组。最终返回结果数组,未满足条件的子数组位置填 -1

from typing import List

class Solution:
    def resultsArray(self, nums: List[int], k: int) -> List[int]:
        n = len(nums)
        cnt = 0  # 记录当前连续递增的长度
        ans = [-1] * (n - k + 1)  # 初始化结果数组为 -1
        
        # 遍历数组,更新连续递增的计数和结果数组
        for i in range(n):
            # 检查当前元素是否与前一个元素连续递增
            if i == 0 or nums[i] - nums[i - 1] != 1:
                cnt = 1  # 如果不满足连续性,重置计数为 1
            else:
                cnt += 1  # 否则增加计数
            
            # 如果当前连续递增的长度满足 k,更新结果数组
            if cnt >= k:
                ans[i - k + 1] = nums[i]  # 将当前窗口的最大值(即 nums[i])写入结果中
                
        return ans

标签:cnt,15,当前,nums,递增,元素,II,数组,打卡
From: https://blog.csdn.net/weixin_53420521/article/details/143588648

相关文章

  • leetcode 59. 螺旋矩阵 II java解法
    以123456789为例n=奇数结果1                2                3      i8                9                47                6             ......
  • 代码随想录算法训练营第二十三天| leetcode39. 组合总和、leetcode40.组合总和II、lee
    1leetcode39.组合总和题目链接:39.组合总和-力扣(LeetCode)文章链接:代码随想录视频链接:带你学透回溯算法-组合总和(对应「leetcode」力扣题目:39.组合总和)|回溯法精讲!_哔哩哔哩_bilibili思路:跟之前差不多,就是将他的循环改一下,但是我发现有重复的数值了,不知道如何删除1.1自......
  • 考研打卡(15)
    开局(15)开始时间 2024-11-12 20:37:51结束时间 2024-11-12 22:41:32现在在敷泥膜数据结构设已知一稀疏矩阵的三元组表为:(1,2,3),(1,6,1),(3,1,5),(3,2,-1)(5,4,5),(5,1,-3),则其转置矩阵的三元组表中的第三个三元组为____(山东大学2013年)A(2,1,3)B(3,1,5)C(3,2,-1)D(2,3,-1)A......
  • 打卡信奥刷题(222)用C++信奥P1746[普及组/提高] 离开中山路
    离开中山路题目背景《爱与愁的故事第三弹·shopping》最终章。题目描述爱与愁大神买完东西后,打算坐车离开中山路。现在爱与愁大神在x1,......
  • 代码随想录算法训练营第十一天|LeetCode150.逆波兰表达式求值、239.滑动窗口最大值、3
    前言打卡代码随想录算法训练营第49期第十一天 φ(゜▽゜*)♪首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。今日题目在学......
  • 打卡信奥刷题(221)用C++信奥P1740[普及组/提高] Diamond A&B(1)
    DiamondA&B(1)题目背景由于本题较难,将本题拆做两题,分别为diamondA以及diamondB。本题为DiamondA。题目描述教主上电视了!这个消息绝对是一个爆炸性的新闻。一经传开,大街上瞬间就没人了(都回家看电视去了),商店打烊,工厂停业。大家都把电视机的音量开到最大,教主的声音......
  • 识海社区打卡-3
    CodeforcesRound986(Div.2)赛后补题战况如下:当然打完这场升绿了,虽然我也没想到。b题wa了很多发还是阅读理解的水平不太够,还没又补了一个样例说明我就看明白了不过还是wa了几发,不过确实用了我太长时间,欠训了。比赛时c题我没有去实现,不过看样例猜了一个方法,赛后看答案我才发......
  • 本地html 加载js 和 两种定义模块的方式, IIFE and 对象字面量
    本地html加载js和两种定义模块的方式,IIFEand对象字面量需求希望写一个不启动服务的页面,也不用vitewebpack打包,就双击就能运行就行~开始以为requirejs比较老,结果发现本地也不能运行,chrome报跨域,没有权限。IIFE(立即执行函数表达式):varmyModule=(function(){v......
  • 大数据面试题--kafka夺命连环问(前15问)
    目录1、kafka消息发送的流程?2、Kafka的设计架构你知道吗3、Kafka分区的目的?4、你知道Kafka是如何做到消息的有序性?5、ISR、OSR、AR是什么?6、Kafka在什么情况下会出现消息丢失?7、怎么尽可能保证Kafka的可靠性?8、Kafka中如何做到数据唯一,即数据去重?9、生产者如......
  • 考研打卡(14)
    开局(14)开始时间 2024-11-11 20:21:43结束时间 2024-11-11 22:00:55今天考研数学的资料到了数据结构设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为_____(中国地质大学2017年)A40,50,20,95B15,40,60,20C15,20,......