当前位置:网站首页>[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);
}
}
边栏推荐
- level16
- 程序员老鸟都会搞错的问题 C语言基础 指针和数组
- 嵌入式启动流程
- [esp32 learning-2] esp32 address mapping
- Arduino uno R3 register writing method (1) -- pin level state change
- Unit test - unittest framework
- Comparaison des solutions pour la plate - forme mobile Qualcomm & MTK & Kirin USB 3.0
- Remember an experience of ECS being blown up by passwords - closing a small black house, changing passwords, and changing ports
- arduino JSON数据信息解析
- 基于Redis的分布式ID生成器
猜你喜欢
Kaggle competition two Sigma connect: rental listing inquiries
MySQL占用内存过大解决方案
Stm32f1+bc20+mqtt+freertos system is connected to Alibaba cloud to transmit temperature and humidity and control LED lights
JS正则表达式基础知识学习
Feature of sklearn_ extraction. text. CountVectorizer / TfidVectorizer
JS数组常用方法的分类、理解和运用
Whistle+switchyomega configure web proxy
记一次云服务器被密码爆破的经历——关小黑屋、改密码、改端口
Arduino uno R3 register writing method (1) -- pin level state change
Symbolic representation of functions in deep learning papers
随机推荐
单片机蓝牙无线烧录
如何给Arduino项目添加音乐播放功能
imgcat使用心得
Embedded startup process
Reno7 60W super flash charging architecture
JS数组常用方法的分类、理解和运用
Vscode basic configuration
Gateway 根据服务名路由失败,报错 Service Unavailable, status=503
C language callback function [C language]
Pytorch: tensor operation (I) contiguous
Basic operations of databases and tables ----- creating data tables
Dead loop in FreeRTOS task function
The first simple case of GNN: Cora classification
Arm pc=pc+8 is the most understandable explanation
Common properties of location
AMBA、AHB、APB、AXI的理解
Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
ESP学习问题记录
【ESP32学习-1】Arduino ESP32开发环境搭建
Postman 中级使用教程【环境变量、测试脚本、断言、接口文档等】