当前位置:网站首页>[899]有序队列
[899]有序队列
2022-07-06 09:17:00 【劲腰傩舞】
题目概要
给定一个字符串。在规则限定内,把其调整我字典序最小的情况。
题目
给定一个字符串 s 和一个整数 k 。你可以从 s 的前 k 个字母中选择一个,并把它加到字符串的末尾。
返回 在应用上述步骤的任意数量的移动后,字典上最小的字符串 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/orderly-queue
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
示例1
输入:s = “cba”, k = 1
输出:“acb”
解释:
在第一步中,我们将第一个字符(“c”)移动到最后,获得字符串 “bac”。
在第二步中,我们将第一个字符(“b”)移动到最后,获得最终结果 “acb”。
示例2
输入:s = “baaca”, k = 3
输出:“aaabc”
解释:
在第一步中,我们将第一个字符(“b”)移动到最后,获得字符串 “aacab”。
在第二步中,我们将第三个字符(“c”)移动到最后,获得最终结果 “aaabc”。
public String orderlyQueue(String s, int k) {
/*只能移动一个字符的情况下。可以把字符串当成循环链表处理*/
if(k==1){
String ans=s;
/*那么需要判断以任意一个位置作为起点的字符串的字典序*/
for (int i = 0; i < s.length(); i++) {
String temp=s.substring(i)+s.substring(0,i);
if(temp.compareTo(ans)<0)
ans=temp;
}
return ans;
}
/*k>=2的时候。可以证:可以任意调换给定字符串的两个字符。即最终字符串的字母序可调到最低*/
else{
/*转换成字符数组之后就可以排序了*/
char[] ca = s.toCharArray();
/*sort函数默认升序*/
Arrays.sort(ca);
/*不要尝试对字符数组toString:返回的是类型和对应的哈希码。貌似除了string的tostring是被重载了的。其他都是直接继承object*/
return new String(ca);
}
}
边栏推荐
- Characteristics, task status and startup of UCOS III
- Time slice polling scheduling of RT thread threads
- JS Title: input array, exchange the largest with the first element, exchange the smallest with the last element, and output array.
- I2C总线时序详解
- GCC compilation options
- vim命令行笔记
- JS数组常用方法的分类、理解和运用
- ESP8266连接onenet(旧版MQTT方式)
- Basic operations of databases and tables ----- modifying data tables
- Detailed explanation of 5g working principle (explanation & illustration)
猜你喜欢
Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
A possible cause and solution of "stuck" main thread of RT thread
OPPO VOOC快充电路和协议
Oppo vooc fast charging circuit and protocol
STM32 how to locate the code segment that causes hard fault
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
单片机蓝牙无线烧录
(一)R语言入门指南——数据分析的第一步
Comparison of solutions of Qualcomm & MTK & Kirin mobile platform USB3.0
Arduino JSON data information parsing
随机推荐
Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
Walk into WPF's drawing Bing Dwen Dwen
Imgcat usage experience
Mp3mini playback module Arduino < dfrobotdfplayermini H> function explanation
History object
Pytoch temperature prediction
I2C总线时序详解
Intermediate use tutorial of postman [environment variables, test scripts, assertions, interface documents, etc.]
OSPF message details - LSA overview
嵌入式启动流程
Time slice polling scheduling of RT thread threads
ES6语法总结--上篇(基础篇)
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
基於Redis的分布式ID生成器
Analysis of charging architecture of glory magic 3pro
ESP8266使用arduino连接阿里云物联网
数据库课程设计:高校教务管理系统(含代码)
level16
记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
Use of lists