每日一题 2182. 构造限制重复的字符串(中等,贪心)

news2024/9/27 7:21:11

在这里插入图片描述
贪心,每次都尽量取大的,除非连续取的次数超出限制,此时取一个下一个字符

class Solution:
    def repeatLimitedString(self, s: str, repeatLimit: int) -> str:
        N = 26
        count = [0] * N
        for c in s:
            count[ord(c) - ord('a')] += 1
        ret = []
        i, j, m = N - 1, N - 2, 0
        while i >= 0 and j >= 0:
            if count[i] == 0: # 当前字符已经填完,填入后面的字符,重置 m
                m, i = 0, i - 1
            elif m < repeatLimit: # 当前字符未超过限制
                count[i] -= 1
                ret.append(chr(ord('a') + i))
                m += 1
            elif j >= i or count[j] == 0: # 当前字符已经超过限制,查找可填入的其他字符
                j -= 1
            else: # 当前字符已经超过限制,填入其他字符,并且重置 m
                count[j] -= 1
                ret.append(chr(ord('a') + j))
                m = 0
        return ''.join(ret)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1379908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极智一周 | AI大模型应用、AI发展系列、Animate Anyone、自动驾驶芯片、DRIVE And so on

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多技术分享 大家好&#xff0c;我是极智视界&#xff0c;带来本周的 [极智一周]&#xff0c;关键词&#xff1a;AI大模型应用、AI发展系列、Animate Anyone、自动驾驶芯片、DRIVE And so on。 邀您加入我的知识星球「极智…

电脑连不上网?解决方法看这里

随着互联网的普及&#xff0c;电脑成为我们日常工作不可或缺的一部分。然而&#xff0c;有时我们可能会面临电脑连不上网的问题&#xff0c;这给我们的工作和娱乐带来了一些困扰。本文将介绍解决电脑无法连接网络的三种有效方法&#xff0c;帮助读者迅速恢复网络连接&#xff0…

FreeRtos Queue (一)

本篇主要讲队列的数据结构和初始化 一、队列的数据结构 二、队列初始化完是什么样子的 队列初始化的函数调用关系&#xff1a;xQueueGenericCreate->prvInitialiseNewQueue->xQueueGenericReset 所以&#xff0c;最终初始化完的队列是这样的 假设申请了4个消息体&…

Windows Redis图形客户端 Another Redis Desktop Manager的简单使用教程

1、 Redis官方文档 2、 Redis国内中文版文档 3、 Redis客户端 Another Redis Desktop Manager 4、连接redis服务 我直接使用的是公司搭建好的服务。连接服务需要以下几个信息&#xff1a; HostPortPasswordSSL 5、New Key 5.1 如何创建一个Key&#xff1f; 点击New k…

Java多线程并发篇----第十一篇

系列文章目录 文章目录 系列文章目录前言一、什么是悲观锁二、什么是自旋锁三、Synchronized 同步锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、什么是悲观…

NVMe over TCP高性能文件存储,让未来照进现实,400us

你真的懂NVMe吗&#xff1f; 在说NVMe之前&#xff0c;我们觉得有必要先聊一聊NVM&#xff08;Non-Volatile Memory&#xff09;&#xff0c;即非易失性内存。从名字上看就知道&#xff0c;NVM是一种类内存式&#xff08;访问及寻址方式类似&#xff09;的设备&#xff0c;它必…

小鼠的滚动疲劳仪-转棒实验|ZL-200C小鼠转棒疲劳仪

转棒实验|ZL-200C小鼠转棒疲劳仪用于检测啮齿类动物的运动功能。通过测量动物在滚筒上行走的持续时间&#xff0c;来评定**神经系统*病或损坏以及药物对运动协调功能和疲劳的影响。 疲劳实验中&#xff0c;让小鼠在不停转动的棒上运动&#xff0c;肌肉会很快进入疲劳状态&#…

办理美国FCC认证的意义是什么?

首先是法律法规的要求&#xff1b; 其次&#xff0c;客户认可&#xff0c;声誉&#xff1b; 最后&#xff0c;办理美国FCC认证的意义主要体现在以下几个方面&#xff1a; 保障公共利益&#xff1a;FCC认证要求产品符合美国联邦通信委员会制定的规定&#xff0c;防止不符合标准…

深度学习烦人的基础知识(2)---Nvidia-smi功率低,util高---nvidia_smi参数详解

文章目录 问题现象解释解决方案 磨刀不误砍柴工--nvidia-smi参数解读 问题 如下图所示&#xff0c;GPU功率很低&#xff0c;Util占用率高。这个训练时不正常的&#xff01; 现象解释 Pwr是指GPU运行时耗电情况&#xff0c;如图中GPU满载是300W&#xff0c;目前是86W与GPU2的…

为什么不直接public,多此一举用get、set,一文给你说明白

文章目录 1. 封装性&#xff08;Encapsulation&#xff09;2. 验证与逻辑处理3. 计算属性&#xff08;Computed Properties&#xff09;4. **跟踪变化&#xff08;Change Tracking&#xff09;5. 懒加载与延迟初始化&#xff08;Lazy Initialization&#xff09;6. 兼容性与未来…

面试算法117:相似的字符串

题目 如果交换字符串X中的两个字符就能得到字符串Y&#xff0c;那么两个字符串X和Y相似。例如&#xff0c;字符串"tars"和"rats"相似&#xff08;交换下标为0和2的两个字符&#xff09;、字符串"rats"和"arts"相似&#xff08;交换下…

服务器管理平台开发(3)- Web后端

Web服务端 整体架构采用前后端分离形式&#xff0c;后端使用Golang实现&#xff0c;参考Gin框架 1、后端服务 1.1、服务端架构 代码可参考Github开源项目&#xff1a;https://github.com/pbrong/hrms 1.2、服务地址 http://x.x.x.x:8000/api/v1/meta/info http://x.x.x.x:800…

72、C++ 代码格式规范的一个工具使用:clang-format

本节与小册内容无关,仅仅是介绍一个C++代码格式规范化的工具,用来将写的杂乱无章,格式不规范的C++代码来统一调整为规范的格式,包括空格、对齐等,使得C++代码美观大方。 因为 C++ 仓库中用到了这个工具,所以介绍下,有平时用C++做开发的同学也可以使用一下。 clang-for…

算法回忆录——排序

文章目录 1. 插入排序2. 选择排序3. 冒泡排序4. 希尔排序5. 归并排序6. 快速排序7. 堆排序8. 计数排序9. 桶排序10. 基数排序 1. 插入排序 分为两个序列&#xff0c;前面一个序列是排好序的&#xff0c;后面一个序列是未排好的。未排好的序列的第一个元素&#xff08;a&#x…

独立客服系统的消息通知推送

消息通知 当我们在自己网站上嵌入对接了客服代码&#xff0c;我们想要通过微信接收访客的消息提醒通知&#xff0c;可以通过扫描客服后台的微信二维码&#xff0c;即时收消息通知提醒。 客服后台 后台主页面板&#xff0c;就展示了一个微信二维码&#xff0c;扫码关注公众号…

【大数据】Flink 详解(八):SQL 篇 Ⅰ

本系列包含&#xff1a; 【大数据】Flink 详解&#xff08;一&#xff09;&#xff1a;基础篇【大数据】Flink 详解&#xff08;二&#xff09;&#xff1a;核心篇 Ⅰ【大数据】Flink 详解&#xff08;三&#xff09;&#xff1a;核心篇 Ⅱ【大数据】Flink 详解&#xff08;四…

太阳光模拟器在晶圆硅片均匀加热解决方案

概述 晶圆硅片是半导体行业中使用的一种重要材料。它是由单晶硅经过一系列工艺加工而成的薄型圆片。晶圆在半导体制造过程中起到了基础性的作用&#xff0c;是制作晶体管和集成电路的关键原材料。硅片是一种重要的半导体材料&#xff0c;被广泛应用于电路制造、太阳能电池板等…

kafka: 基础概念回顾(生产者客户端和机架感知相关内容)

一、kafka生产者客户端 在kafka体系结构中有如下几个重要的概念&#xff1a; Producer&#xff1a;生产者&#xff0c;负责生产消息并投递到kafka broker的某个的分区中Consumer&#xff1a;消费者&#xff0c;负责消费kafka若干个分区中的消息Broker&#xff1a;kafka服务节…

微软为Windows内置记事本应用开发AI功能;2024年15个 AI 语音生成器

&#x1f989; AI新闻 &#x1f680; 微软为Windows内置记事本应用开发AI功能 摘要&#xff1a;微软正在开发一个新的生成式AI功能&#xff0c;名为"Cowriter"&#xff0c;用于Windows内置的记事本应用。该功能类似于画图应用中的"Cocreator"功能&#x…

计算机导论04-操作系统

操作系统基础 操作系统及其特征 操作系统的概念 操作系统是&#xff1a; 管理和控制计算机硬件与软件资源的计算机程序的集合&#xff1b;操作系统直接运行在“裸机”之上&#xff0c;是最基本的系统软件&#xff0c;其他软件都必须在操作系统的支持下才能运行。 操作系统…