链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
Joker今天学完了数组,他发现在数组上面可以进行很多有意思的操作,现在他想对一个长度为n的数组a进行以下操作:
将两个元素 ai和 aj 互换,使得 i≠j、ai和 aj要么 都是偶数,要么 都是奇数。
他想知道是否可以通过执行任意次数(可能为零)的操作对数组进行非递减排序。
输入描述:
第一行输入数据包含一个整数 t (1 <= t <= 1e4) - 测试用例数。
测试用例说明如下。
每个测试用例的第一行包含一个整数 n(1 <= n <= 2 * 10^5) - 数组 a 的长度。
每个测试用例的第二行包含 n 个正整数a1,a2,…,an(1 <= ai <=10^9)--数组 a 的元素。
保证所有测试用例的 n 之和不超过 2 * 10^5; 。
输出描述:
每个测试用例的输出都单独成行:
如果数组可以通过一定次数的操作进行排序,则"Yes";
否则为"No"。
示例1
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
while(t-->0){
int n=sc.nextInt();
int[] a=new int[n];
int[] arr=new int[n];
for(int i=0;i<a.length;i++){
a[i]=sc.nextInt();
arr[i]=a[i];
}
Arrays.sort(arr);
int count=0;
for(int i=0;i<a.length;i++){
if(arr[i]%2==a[i]%2){
count++;
}
}
if(count==a.length){
System.out.println("Yes");
}else{
System.out.println("No");
}
}
}
}