Sequence and Swaps(思维)
程序员文章站
2022-03-19 16:19:39
题目题意:给出一个长度为n的数组,和数值k,通过如示样例的变换得到一个升序数组思路:先对数组是否有序进行判断,如果有序,则输出答案,反之则判断当前的a[i]是否大于now大于进行一次交换AC代码:package 练习;import java.util.*;import java.io.*;import java.lang.*;public class Main{static Scanner scanner = new Scanner(System.in);public sta...
题目
题意:给出一个长度为n的数组,和数值k,通过如示样例的变换得到一个升序数组
思路:先对数组是否有序进行判断,如果有序,则输出答案,反之则判断当前的a[i]是否大于now大于进行一次交换
AC代码:
package 练习;
import java.util.*;
import java.io.*;
import java.lang.*;
public class Main{
static Scanner scanner = new Scanner(System.in);
public static boolean s(int arr[]) {//判断数组是否有序
for(int i = 0;i<arr.length-1;i++) {
if(arr[i] > arr[i+1]) return true;
}
return false;
}
public static void main(String[] args) {
int t = scanner.nextInt();
for(int tt = 0;tt<t;tt++) {
show();
}
}
private static void show() {
int n = scanner.nextInt(), x = scanner.nextInt();
int arr[] = new int[n];
for(int i = 0;i<n;i++) arr[i] = scanner.nextInt();
int i = 0;
int ans = 0;
while(s(arr)) {
if(arr[i] > x) {
int temp = x;
x = arr[i];
arr[i] = temp;
ans++;
}
i++;
if(i>=n) {
ans = -1;
break;
}
}
System.out.println(ans);
}
}
本文地址:https://blog.csdn.net/nankes/article/details/110442517
上一篇: Java数据类型及类型转换
下一篇: 【Java作业】继承与多态