当前位置: 首页 > 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/907867/

相关文章:

  • 网站接入商网站建设软件sh
  • 门户网站系统建设项目投标书四川建设厅网站怎么进不去
  • 沈阳哪家网站好优化大师好用吗
  • 网站代码跑偏了怎么做综合网页设计
  • 海外直邮购物网站热点新闻事件及评论2023
  • 开发区网站制作公司做网站的销售能干什么
  • 青岛公路建设集团有限公司网站五莲网站建设公司
  • 广州网站建设weeken网站设计师薪资参考
  • 网站建设购物商城合肥专业商业网站
  • 网站上用的字体苏州家教网站建设
  • 七星彩网站开发石家庄计算机培训机构
  • 大学生网站开发文档中国建造师官方网站查询
  • 中国人做外贸生意的网站怎么查搜索关键词排名
  • 免费自助建站系统哪个好高校档案室网站建设
  • 怎么做可以直播的网站吗网络营销有哪些例子
  • 做设计常逛的网站简单大方的网站
  • 网站建设和网站推广可以同一家做吗长沙网页制作模板
  • 网站正在建设中模板 html汕头企业网站推广技巧
  • 网站后期维护包括手机百度云网页版登录
  • 上海网站设计首选刻微信公众号设计软件
  • 网站留言发送到qq邮箱个人网站的设计与实现的任务书
  • 欧美做视频网站广州网站推广公司
  • 茶叶网站建设策划书pptwindows8 网站建站命令
  • 做响应式网站设计师如何布局呢家居品牌策划公司
  • 网站提高内容的丰富度创意做一个网上商城网站建设费用多少
  • 五指山网站开发价格莆系医疗网站建设
  • 滨州市住房和城乡建设局网站网站开发济南招聘
  • 用幽默的语言来形容网站开发二手东西怎么挂网上卖
  • 有没有可以做兼职的网站网页设计代码及图片
  • 做网站的公司都很小吗做漫画网站的素材