当前位置: 首页 > 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/news/283406.html

相关文章:

  • 网络编程(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个用户
  • 从数据库中查找单词
  • JAVA电子器件制造行业生产管理系统计算机毕设计算机毕业设计
  • 2024.8.30(使用docker部署project-exam-system)
  • 20.神经网络 - 搭建小实战和 Sequential 的使用
  • 自动化数据汇总:使用Python从多个数据源汇总数据
  • linux查找mysql日志
  • 艾体宝干货丨Redis与MongoDB的区别
  • 自动化通过cmd命令行并以特定账户连接到远程机器
  • 【香橙派系列教程】(二十一) 基于OrangePi Zero2的系统移植— 交叉编译工具链配置
  • 【C++ 面试 - 内存管理】每日 3 题(九)
  • 算法中常用的排序