最简单的做法:将奇数和偶数分开到两个数组

2014-11-24 09:09:56 · 作者: · 浏览: 2
奇数递增排好序
偶数递减排好序
扫描原数组,如果遇到奇数,从奇数数组中取出第一个放入,从奇数数组中删除该元素;如果遇到偶数,从偶数数组中取出第一个放入,从偶数数组中删除该元素。
返回结果.
package rounda;  
  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.util.ArrayList;  
import java.util.Collections;  
import java.util.Comparator;  
import java.util.Scanner;  
  
public class Problem2 {  
  
    public void solve() {  
  
    }  
    public static void output(int no,ArrayList list) {  
        String s = "";  
        for(int i=0;i< list.size();i++)  
            s+=list.get(i)+" ";  
        s = s.trim();  
        System.out.println("Case #"+no+": "+s);  
    }  
    public static void main(String[] args) {  
        Scanner scanner;  
        scanner = new Scanner(System.in);  
        int T = scanner.nextInt();  
        int count = T;  
        while (count-- > 0) {  
            int n = scanner.nextInt();  
            ArrayList list = new ArrayList();  
            ArrayList even = new ArrayList();  
            ArrayList
odd = new ArrayList(); ArrayList result = new ArrayList(); for(int i=0;i() { @Override public int compare(Integer o1, Integer o2) { return o2-o1; } }); Collections.sort(odd, new Comparator() { @Override public int compare(Integer o1, Integer o2) { return o1-o2; } }); int peven=0; int podd=0; for(int i=0;i