嘿~大家好!
这里是小猪的博客!
又是一道很重要的练习题,希望对你有帮助!
前言
如果哪里写错了,或者你有哪里不太理解的都可以来私聊我哈!谢谢!
一,题目
考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:
“car” < “carriage” < “cats” < "doggies < “koala”
2.根据字符串的长度排序。例如:
“car” < “cats” < “koala” < “doggies” < “carriage”
考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。
二,解析
思路很简单,将接收的字符串都放到String数组中,利用string的compareTo方法来按ascii比较字符串字典序排序,利用string的length方法来比较字符串的长度排序。
三,代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main1 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bufferedReader.readLine());
String[] arr = new String[n];
for (int i = 0; i < n; i++) {
arr[i] = bufferedReader.readLine();
}
if (isSortLength(arr)&&isSortZiDian(arr)){
System.out.println("both");
}else if (isSortZiDian(arr)){
System.out.println("Lexicographically");
}else if (isSortLength(arr)){
System.out.println("Lengths");
}else {
System.out.println("none");
}
}
public static boolean isSortZiDian(String[] arr){
for (int i = 0; i < arr.length-1; i++) {
if (arr[i].compareTo(arr[i+1]) >0){
return false;
}
}
return true;
}
public static boolean isSortLength(String[] arr){
for (int i = 0; i < arr.length-1; i++) {
if (arr[i].length()>arr[i+1].length()){
return false;
}
}
return true;
}
}
这期的博客就到此结束了~
希望这些题目对你有帮助!
记得关注小猪!
咱们下期再见了~