一、题目描述
给定一个字串s,s包含以空格分隔的若干个单词,请对s进行如下处理后输出:
1、单词内部调整
对每个单词字母重新按字典序排序。
2、单词间顺序调整:
- 统计每个单词出现的次数,并按次数降序排列;
- 次数相同时,按单词长度升序排列;
- 次数和单词长度均相同时,按字典序升序排列。
请输出处理后的字符串,每个单词以一个空格分隔。
二、输入描述
行宁符串,每个宁符取值范围: [a-zA-Z0-9]以及空格,宁符串长度范围: [1,1000]。
三、输出描述
重新排序后的宁符串,每个单词间隔1个空格,且首属无空格。
四、测试用例
测试用例1
1、输入
hello world hello
2、输出
ehllo ehllo dlorw
3、说明
“hello” → 排序后为 “ehllo”,出现 2 次
“world” → 排序后为 “dlorw”,出现 1 次
排序时 “ehllo”(次数2)在前,后跟 “dlorw”。
这篇博客介绍了如何解决华为OD机试中的一道题目,涉及Java编程实现字符串内单词字母字典序排序及单词间按出现次数、长度和字典序排序的问题。详细解题思路、算法源码和效果展示一应俱全。
订阅专栏 解锁全文
1051

被折叠的 条评论
为什么被折叠?



