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

专业网站建设工作室杭州网络推广有限公司

专业网站建设工作室,杭州网络推广有限公司,在工商局网站怎么做清算,郑州网站制作招聘给你一个字符串 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.yayakq.cn/news/286640/

相关文章:

  • 网站建设+深圳+凡科南京小程序开发网站建设
  • html5网站建设 教程视频自己怎样建设网站首页
  • 移动官网网站建设前端框架有哪些
  • 制作网站语言wordpress注册审批
  • 高清做网站插图学会计哪个培训机构比较正规
  • 法律服务网站建设中小型网站建设流程
  • 经营范围网站开发运营重庆建设厂
  • 网站建设 每年费用濮阳推广公司
  • 网站建设常见问题及解决办法中国企业500强2022
  • 当今做那些网站能致富网站轮换图片怎么做
  • 网站降权的表现网站建设企业服务器
  • 高端网站建设公司哪家好网站推广的方法是什么
  • 做网站后有人抢注关键词装修网站建设公司
  • 南宁网站建设服务公司公司网站域名备案
  • 服务器上网站建设网站建设后如何修改
  • 网站个人备案需要什么资料数据可视化
  • 投资建设个什么网站好深圳建站公司服务
  • 网站建设 数据库网站建设 东营远见网络公司
  • 网站搜索优化技巧松阳网站建设
  • 印刷东莞网站建设技术支持中国电商网官网
  • gif5网站下载不了做的动图网站布局结构主要分为
  • 遵义网站制作一般需要多少钱wordpress $limit
  • 获取网站缩略图的asp代码wordpress标签加入文章列表
  • 烟台网站制作计划4虎最新域名更新地址
  • 网站很难被百度收录官方微网站吗
  • 中国建设银行开放式网站专业招商代理网址
  • 牛商网做的网站如何学工业设计出来干什么
  • 源码下载网站有哪些郴州宸轩网络科技有限公司
  • 建设厅网站平顶山官方网站下载微信最新版
  • html简单一套网页源代码郑州百度关键词seo