/**
*
*/
package 基础题;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* @author zx天才
* @version 2020年9月11日
* @paramFanZhuan.java
* @Description:
*/
public class FanZhuan {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] num = new int[n];
int[] copy = new int[n];
for (int i = 0; i < n; i++) {
num[i] = in.nextInt();
copy[i] = num[i];
}
Arrays.sort(copy);
for (int i = 0; i < copy.length; i++) {
System.out.println(copy[i]);
}
List<Integer> mid = new ArrayList<>();
List<Integer> midCopy = new ArrayList<>();
for (int i = 0; i < n; i++) {
if(num[i]!=copy[i]) {
mid.add(num[i]);
midCopy.add(copy[i]);
}
}
Collections.reverse(midCopy);
if(mid.equals(midCopy)) {
System.out.println("yes");
} else {
System.out.println("no");
}
in.close();
}
}
在此算法中我们利用了数组的顺序排列 sort(String[] a)方法,将整个数组排列整齐。
midcopy是和我们键盘输入的num不同的部分,如果将这一部分翻转过后跟我们String顺序排列后是一样的话,那就可以说明存在这个字符串段