📜个人简介 |
⭐️个人主页:摸鱼の文酱博客主页🙋♂️
🍑博客领域:java编程基础,mysql
🍅写作风格:干货,干货,还是tmd的干货
🌸精选专栏:【Java】【mysql】 【算法刷题笔记】
🎯博主的码云gitee,平常博主写的程序代码都在里面。
🚀支持博主:点赞👍、收藏⭐、留言💬
🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!
📃两种排序方法
🎯1.原题链接
🎯2.题目要求
考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法:
1.根据字符串的字典序排序。例如:
“car” < “carriage” < “cats” < "doggies < “koala”
2.根据字符串的长度排序。例如:
“car” < “cats” < “koala” < “doggies” < “carriage”
考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。
样例输入:3
a
aa
bbb
样例输出:both
🎯3.基础框架
java版本的基础框架代码如下:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
}
}
🎯4.解题思路
1.先比较字符串长度
2.然后将长度相等的进行字典序的排序
🎯5.完整代码
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
List<String> v = new ArrayList<>();
for(int i = 0; i < n; ++i) v.add(sc.nextLine());
List<String> p = new ArrayList<>(v);
Collections.sort(p);
boolean a = p.equals(v); //集合类容器比较是否相等
boolean b = true;
for(int i = 0; i < v.size() - 1; ++i){
if(v.get(i).length() > v.get(i + 1).length()){
b = false;
break;
}
}
if(a && b){
System.out.println("both");
return;
}
if(a){
System.out.println("lexicographically");
return;
}
if(b){
System.out.println("lengths");
return;
}
System.out.println("none");
}
}