如何加强企业网站建设 论文6,网站开发验收报告模板,一个公司建设网站,2008系统做网站#x1f680; 算法题 #x1f680; #x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 #x1f340; #x1f332; 越难的东西,越要努力坚持#xff0c;因为它具有很高的价值#xff0c;算法就是这样✨ #x1f332; 作者简介#xff1a;硕风和炜#xff0c;… 算法题 算法刷题专栏 | 面试必备算法 | 面试高频算法 越难的东西,越要努力坚持因为它具有很高的价值算法就是这样✨ 作者简介硕风和炜CSDN-Java领域新星创作者保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享 恭喜你发现一枚宝藏博主,赶快收入囊中吧 人生如棋我愿为卒行动虽慢可谁曾见我后退一步 算法题 目录 题目链接⛲ 题目描述 求解思路实现代码运行结果⚡ 双指针 贪心 求解思路 实现代码 运行结果 共勉 题目链接
2697. 字典序最小回文串
⛲ 题目描述
给你一个由 小写英文字母 组成的字符串 s 你可以对其执行一些操作。在一步操作中你可以用其他小写英文字母 替换 s 中的一个字符。
请你执行 尽可能少的操作 使 s 变成一个 回文串 。如果执行 最少 操作次数的方案不止一种则只需选取 字典序最小 的方案。
对于两个长度相同的字符串 a 和 b 在 a 和 b 出现不同的第一个位置如果该位置上 a 中对应字母比 b 中对应字母在字母表中出现顺序更早则认为 a 的字典序比 b 的字典序要小。
返回最终的回文字符串。
示例 1
输入s “egcfe” 输出“efcfe” 解释将 “egcfe” 变成回文字符串的最小操作次数为 1 修改 1 次得到的字典序最小回文字符串是 “efcfe”只需将 ‘g’ 改为 ‘f’ 。 示例 2
输入s “abcd” 输出“abba” 解释将 “abcd” 变成回文字符串的最小操作次数为 2 修改 2 次得到的字典序最小回文字符串是 “abba” 。 示例 3
输入s “seven” 输出“neven” 解释将 “seven” 变成回文字符串的最小操作次数为 1 修改 1 次得到的字典序最小回文字符串是 “neven” 。
提示
1 s.length 1000 s 仅由小写英文字母组成 求解思路实现代码运行结果 ⚡ 双指针 贪心 求解思路
题目的要求就是让我们找到使字符串成为回文串的最少操作次数返回最终的回文串。如果最少操作次数相同那们返回字典序更小的。该题直接通过双指针来求解一个指向字符串的开始位置一个指向字符串的末尾位置判断俩个位置的字符是否相等如果相等继续后续的判断。如果不相等取来个位置字典序更小的返回。实现代码如下所示 实现代码
class Solution {public String makeSmallestPalindrome(String s) {char[] arrs.toCharArray();int narr.length;int i0,mn;while(im/2){if(arr[i]!arr[n-i-1]){if(arr[i]arr[n-i-1]){arr[i]arr[n-i-1];}else{arr[n-i-1]arr[i];}}i;}return String.valueOf(arr);}
}运行结果 共勉
最后我想和大家分享一句一直激励我的座右铭希望可以与大家共勉