01.05 数组双指针、滑动窗口

第一天

第一题 344.反转字符串

直接使用双指针,分别从前从后遍历,并且交换数组元素的值就好了。
在这里插入图片描述

第二题 345.反转元音字母

和344差不太多,只要判断一下是不是元音再进行交换就可以了
在这里插入图片描述

第二天

第一题 27.移除元素

使用快慢指针,快指针用来遍历数组,满指针遍历最终需要输出的数组
在这里插入图片描述

第二题 80. 删除有序数组中的重复项 II

第三题 925.长按键入

最后别忘记判断typed比name长的部分就好了
在这里插入图片描述

第三天

第一题 643.子数组最大平均

这个题是典型的滑动窗口,最后注意计算的时候要把int型的sum先转为double
在这里插入图片描述

第二题 674. 最长连续递增序列

感觉和滑动窗口关系不大,就简单遍历,统计最大的就可以了

在这里插入图片描述

第三题 1004. 最大连续1的个数 III

  1. 初始化一个左指针left、一个变量zero_count用于记录窗口内0的个数,并初始化一个变量max_length用于记录最大连续1的长度。

  2. 使用一个循环遍历数组,将右指针right逐步向右移动,同时统计窗口内的0的个数。

  3. 如果窗口内0的个数大于k,说明窗口内需要翻转的0的个数超过了允许的最大值k,这时需要缩小窗口。通过移动左指针left来缩小窗口,同时更新zero_count

  4. 在每一步中,都会更新max_length,以确保它始终记录窗口中最大的连续1的长度。

  5. 最终,返回max_length作为满足条件的最大连续1的个数。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值