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

替换后的最长重复字符(LeetCode)

题目

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

        在执行上述操作后,返回 包含相同字母的最长子字符串的长度。

解题

def characterReplacement(s, k):
    count = {}
    max_len = 0
    left = 0
    max_count = 0

    for right in range(len(s)):
        # 统计右指针所指字符的出现次数
        count[s[right]] = count.get(s[right], 0) + 1
        # 更新当前窗口内出现最多字符的次数
        max_count = max(max_count, count[s[right]])

        # 如果需要改变的字符数量超过了k,移动左指针
        if (right - left + 1) - max_count > k:
            count[s[left]] -= 1
            left += 1

        # 更新最大长度
        max_len = max(max_len, right - left + 1)

    return max_len


s = "ABAB"
k = 2
print(characterReplacement(s, k))  # 输出: 4

http://www.kler.cn/a/283406.html

相关文章:

  • 【计算机网络】【网络层】【习题】
  • 十三、注解配置SpringMVC
  • MyBatis CRUD快速入门
  • Oracle 11g rac 集群节点的修复过程
  • ReactPress技术揭秘
  • 【Hadoop实训】Hive 数据操作①
  • 网络编程(1)
  • 【重点】人工智能大语言模型技术发展研究报告2024|附下载
  • mac安装vue3成功步骤
  • STM32F1+HAL库+FreeTOTS学习7——列表和列表项
  • 养老小程序源码家政服务小程序开发方案
  • C# 爬虫技术:京东视频内容抓取的实战案例分析
  • 设计模式 13 责任链模式
  • 搭建webRTC cotrun流媒体服务器
  • Python中的命令模式:如何设计灵活的命令体系
  • Redis持久化方式、常见问题及解决方案
  • centos安装docker并配置加速器
  • Keil5 Debug模式Watch窗口添加的监控变量被自动清除
  • 【智能算法改进】多策略融合的改进黑猩猩搜索算法及其应用
  • 备忘录模式 详解
  • 电脑强制退出程序快捷键
  • pytorch交叉熵损失函数
  • 效果媲美GPT4V的多模态大型语言模型MiniCPM-V-2_6详细介绍
  • 数据结构(邓俊辉)学习笔记】串 03——KMP算法:记忆法
  • python批量生成sql用于创建500个用户
  • 从数据库中查找单词