当前位置: 首页 > wzjs >正文

合肥营销网站建设价格想建设退伍军人网站

合肥营销网站建设价格,想建设退伍军人网站,快应用 小程序,怎么建立公司网站平台给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。 在执行上述操作后,返回 包含相同字母的最长子字符串的长度。 题解 可以先做LCR 167/Leetcode 03再做本题 滑动窗口&…

给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。

在执行上述操作后,返回 包含相同字母的最长子字符串的长度。
在这里插入图片描述

题解

可以先做LCR 167/Leetcode 03再做本题

滑动窗口(截取字符串)+哈希表(快速获取窗口内每个字符的个数)

本题等价于替换窗口中的K个字符使其变成一个连续子串,我们的目的就是让窗口尽可能扩张,有K个字符的容错机会,容错机会肯定要用给map中出现次数最多的字符才有机会让窗口扩张
–>需要当前窗口中的出现次数最多的字母个数 +K >子串长度,此时当前窗口内的子串满足最长重复子串

算法步骤

一、定义参数:
变量maxOut记录窗口内最多字符的个度
变量res记录最长子字符串的长度
指针left记录滑动窗口的最左边界,初始值为0
指针right遍历数组,记录滑动窗口的最右边界
哈希表map记录窗口内每个字符的个数
chars = s.toCharArray()便于取值

二、遍历数组:
1.指针 right 遍历字符串s ,哈希表中添加chars[right]对应的字符次数
map[chars[right]-‘A’]++
2.进行比较

  • 如果maxOut<map[chars[right]-‘A’],更新maxOut
  • 如果maxOut+k>right-left+1,说明替换窗口中的K个字符可使其变成一个连续子串
    (1)利用right-left+1更新res
    (2)否则的话,说明此时 k 不够用
    把其它不是最多出现的字符替换以后,都不能填满这个滑动的窗口,这个时候须要考虑左边界向右移动
    移出滑动窗口的时候,频数数组须要相应地做减法
    map[chars[left]-‘A’]–;
    left++;

三、返回值:
返回res

class Solution {public int characterReplacement(String s, int k) {if (s == null) {return 0;}//利用数组代替哈希表,节约空间,本题只包含26个大写字母int[] map = new int[26];char[] chars = s.toCharArray();int left = 0;int res = 0;int maxCount=0;for(int right=0;right<chars.length;right++){int index=chars[right]-'A';//窗口内s.charAt(right)出现的次数+1map[index]++;// 在这里维护 maxCount,因为每一次右边界读入一个字符,字符频数增加,才会使得 maxCount 增加maxCount = Math.max(maxCount, map[index]);// 说明此时 k 不够用// 把其它不是最多出现的字符替换以后,都不能填满这个滑动的窗口,这个时候须要考虑左边界向右移动// 移出滑动窗口的时候,频数数组须要相应地做减法if(maxCount+k < right-left+1){map[chars[left]-'A']--;left++;}else{res=Math.max(res,right-left+1);}}return res;}
}
http://www.dtcms.com/wzjs/819715.html

相关文章:

  • 制作网站吗惠州住房和城乡建设厅网站
  • 做暧小说在线观看网站网站建设和网站维护是什么
  • 产品工业设计网站wordpress 视频 缩略图
  • 做商城网站要多少钱番禺定制型网站建设
  • 免费招聘网站有哪些浙江网站建设服务
  • 南岸集团网站建设wordpress 管理员登陆
  • 山东建设局网站 王局2023年做网站怎么样
  • 网站的橱窗怎么做青岛酒巢网络科技有限公司
  • 电子商务网站排名气动科技东莞网站建设
  • 做软件下载网站怎么赚钱微信公众号免费模板网站
  • 企业网站建设合作协议范文网页设计视频
  • 做网站标签栏的图片大小泉州网站建设方案开发
  • 网站开发合同及报价单wordpress seo主题
  • 多少钱一个网站网站建设必要步骤
  • 建个人博客网站樱花动漫imomoe官网入口
  • 建设部人才网站智慧团建官网入口登录
  • 做网站费用 会计分录网站开发协义
  • 郑州建设网站费用在因特网上建设网站可选择的方案
  • 网站域名包括哪些多语言wordpress
  • 国内做网站最好的公司个人网站做哪种类型
  • 东莞网站的制作怎么把网站放到服务器上
  • 银川专业做网站新网站在谷歌上面怎么做推广
  • 网站开发平台软件新的网站建设技术方案
  • 深圳营销型网站定制网站建设公司清明雨上
  • 网站获取客户信息需要备案吗网站建设如何定位
  • 海南网络公司网站建设重庆哪里可以学习网站建设和维护
  • 单位的网站建设费如何核算国外做名片的网站
  • 网站在线建设网站开发中职教材
  • 网站 建设 申请报告免费网络推广网址
  • 什么是网络营销?如何理解它的产生和把握它的特点?东莞百度网站排名优化