2024-06-22力扣每日一题

链接:

2663. 字典序最小的美丽字符串

题意

要求字符串内不存在任何长度为 2 或更长的回文子字符串,则在任意位置不存在aaaba形式

由于要被给定字符串字典序大,且找到符合条件的字典序最小字符串,则竟可能对靠后的字符做加法和进位

莽一波一直处理最后一个字符,寄的理所当然哈哈

因为默认给的是符合无回文的字符串,所以没被更改过的字符都不考虑,从最靠前的被修改过的字符开始判断它和前面是否构成回文,如果回文则字符加一,如不回文则处理靠后的字符。

代码很丑陋,看看注释得了

实际代码:

#include<bits/stdc++.h>
using namespace std;
string smallestBeautifulString(string s, int k)
{int lg=s.length(),mao=lg-1,zt=1;while(true){if(zt)//第一次无条件执行 {s[mao]++;}if(mao>1){if(s[mao]==s[mao-1] || s[mao]==s[mao-2]){while(s[mao]==s[mao-1] || s[mao]==s[mao-2]) s[mao]++;//有回文则++}else if(!zt) mao++;//无回文则处理后面的字符}else if(mao>0){if(s[mao]==s[mao-1]){while(s[mao]==s[mao-1]) s[mao]++;}else if(!zt) mao++;}else if(!zt) mao++;if(zt) zt=0;//cout<<"mao:"<<mao<<endl; if(mao>=lg) break;//cout<<"s[mao]:"<<s[mao]<<endl; while(s[mao]-'a'+1>k)//进位则需要处理新的字符{s[mao]-=k;mao--;if(mao<0) return "";//首字符还进位则无符合条件字符串else s[mao]++;}}return s;
}
int main()
{string s;int k;cin>>s>>k;string ans=smallestBeautifulString(s,k);cout<<ans<<endl;return 0;
}

限制:

  • 1 <= n == s.length <= 105
  • 4 <= k <= 26
  • s 是一个美丽字符串

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

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

相关文章

51单片机STC89C52RC——6.3 定时器/计数器 实现计时功能(定时器+中断系统+LCD1602液晶显示器)

目录 目的/效果 一&#xff0c;STC单片机模块 二&#xff0c;定时器 中断系统LCD1602显示 三&#xff0c;创建Keil项目 四&#xff0c;代码 五&#xff0c;代码编译、下载到51单片机 ​ 目的/效果 用定时器实现系统中断&#xff0c;计时信息显示在LCD1602上。效果如下 …

springAI(一)

目录 一、spring AI 目的 二、spring AI 来源 三、sprig AI 是什么&#xff1f; 四、spring AI中的 概念 4.1、模型&#xff08;Models&#xff09; 4.2、提示&#xff08;Prompts&#xff09; 4.3、提示模板&#xff08;Prompt Templates&#xff09; 4.4、令 牌&#…

Axios-入门

介绍 Axios对原生Ajax进行了封装&#xff0c;简化书写&#xff0c;快速开发 官网&#xff1a;Axios中文文档 | Axios中文网 (axios-http.cn) 入门 1引入Axios的js文件 <script src"js/axios.js"></script> 2使用Axios发送请求&#xff0c;并获取响应…

系统架构师考点--嵌入式技术

​大家好。今天来总结一下嵌入式技术的考点。该考点分值3-5分&#xff0c;上午场选择题和下午场案例题都可能会考&#xff0c;但不是每年都考。 一、嵌入式微处理体系结构 冯诺依曼结构&#xff1a;传统计算机采用冯诺依曼(Von Neumann)结构&#xff0c;也称普林斯顿结构是一…

动画与帧率

先看视频&#xff0c;同样的代码&#xff0c;左侧是240刷显示器&#xff0c;右侧是60刷显示器&#xff0c;但是动画中粒子的运动速度不同。 原因是机器的帧率导致了基于帧的动画显示效果不同。 动画的移动距离是相同的&#xff0c;但是在240刷的显示器上&#xff0c;每秒移动…

【代码随想录】【算法训练营】【第45天】 [198]打家劫舍 [213]打家劫舍II [337]打家劫舍III

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 45&#xff0c;周五&#xff0c;坚持不了一点~ 题目详情 [198] 打家劫舍 题目描述 198 打家劫舍 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 C语言 虚拟头…

中国科学院西北生态环境资源研究院联合多单位在《PNAS》发文:气候变暖对多年冻土区地上与地下生物量分布的影响

文章简介 论文名称&#xff1a;Changes in above-versus belowground biomass distribution in permafrost regions in response to climate warming&#xff08;气候变暖对多年冻土区地上与地下生物量分布的影响&#xff09; 第一作者及单位&#xff1a;贠汉伯&#xff08;研…

深度学习大体过程

一、深度学习的神秘面纱 深度学习&#xff0c;就像是一个超级魔法师&#xff0c;它能够从海量的数据中提炼出隐藏的秘密&#xff0c;然后利用这些秘密来预测未来、识别图像、翻译语言……简直是无所不能&#xff01;那么&#xff0c;这个魔法师是怎么工作的呢&#xff1f; 二…

代码随想录训练营Day 66|卡码网101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿

1.孤岛的总面积 101. 孤岛的总面积 | 代码随想录 代码&#xff1a;(bfs广搜) #include <iostream> #include <vector> #include <queue> using namespace std; int dir[4][2] {1,0,0,1,-1,0,0,-1}; int count; void bfs(vector<vector<int>>&a…

SCI一区TOP|双曲正弦余弦优化算法(SCHO)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2023年&#xff0c;J Bai受到双曲正弦余弦函数启发&#xff0c;提出了双曲正弦余弦优化算法&#xff08;Sinh Cosh optimizer, SCHO&#xff09;。 2.算法原理 2.1算法思想 SCHO灵感来源…

1panel + Pbootcms 设置伪静态规则

这里确保我们引用的样式路径是否是这样的&#xff0c;&#xff08;不然可能会设置了伪静态无法加载样式&#xff09; //这种格式在不开起伪静态是可以引入的&#xff0c;一旦开启就不行了,一定要在static 前面加上反斜杠 /<link rel"stylesheet" href"{pbo…

【数据分享】《中国法律年鉴》1987-2022

而今天要免费分享的数据就是1987-2022年间出版的《中国法律年鉴》并以多格式提供免费下载。&#xff08;无需分享朋友圈即可获取&#xff09; 数据介绍 自1987年起&#xff0c;《中国法律年鉴》作为一部全面记录中国法律发展进程的重要文献&#xff0c;见证了中国法治建设的每…

python魔法__dir__和__dict__

# 魔法方法dir, __dir__, __dict__class Student:address "wh" # 类属性def __init__(self, name):self.name name # 对象属性self._age 20self.__tel "123456"staticmethoddef static_func():...# __dir__: 查看对象的方法和属性 st Student("z…

【linux】6.9.0系统调用接口列表,一共644个

文件生成命令行&#xff1a; grep "ifdef" /usr/include/x86_64-linux-gnu/bits/syscall.h | awk { print $2 } >/mnt/hgfs/Share/syscall_small.h __NR_FAST_atomic_update __NR_FAST_cmpxchg __NR_FAST_cmpxchg64 __NR__llseek __NR__newselect __NR__sysctl …

Linux服务升级:Almalinux 升级 WebCatlog桌面程序

目录 一、实验 1.环境 2.Almalinux 升级 WebCatlog桌面程序 二、问题 1.Ubuntu如何升级 WebCatlog桌面程序 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统版本软件IP备注Almalinux9.4 WebCatlog 192.168.204.150 &#xff08;2&#xff09;Termi…

odoo17 小变更4

odoo17 小变更4 1、代码中去除了访问私人地址权限,但翻译中均还有,怪不 model:res.groups,name:base.group_private_addresses msgid "Access to Private Addresses" msgstr "" 代码也查看了,的确没有了此权限组 --><record model="res.g…

大聪明教你学Java | 深入浅出聊 Kafka

前言 &#x1f34a;作者简介&#xff1a; 不肯过江东丶&#xff0c;一个来自二线城市的程序员&#xff0c;致力于用“猥琐”办法解决繁琐问题&#xff0c;让复杂的问题变得通俗易懂。 &#x1f34a;支持作者&#xff1a; 点赞&#x1f44d;、关注&#x1f496;、留言&#x1f4…

35 - 最后一个能进入巴士的人(高频 SQL 50 题基础版)

35 - 最后一个能进入巴士的人 -- sum(weight) over(order by turn) as total,根据turn升序&#xff0c;再求前面数的和 selectperson_name from(selectperson_name,sum(weight) over(order by turn) as totalfromQueue) new_Queue wheretotal<1000 order by total desc lim…

华为终于要“三分天下”

在被苹果iOS、谷歌安卓长期统治的手机操作系统市场中&#xff0c;一个新操作系统要想杀出来需要多久&#xff1f;华为给出的答案是五年。 6月21日&#xff0c;华为迎来了其过去五年来最扬眉吐气的一次开发者大会。大会首日&#xff0c;HarmonyOS NEXT鸿蒙星河版正式开启开发者…

34 - 指定日期的产品价格(高频 SQL 50 题基础版)

34 - 指定日期的产品价格 -- row_number(行号) 生成连续的序号&#xff0c;不考虑分数相同 -- 在2019-08-16之前改的价格&#xff0c;使用最近一期的日期&#xff0c;没有在2019-08-16之前改的价格&#xff0c;默认价格为10 select t.product_id, t.new_price as price from (s…