【网易笔试题】游戏中挂机

【网易笔试题】游戏中挂机_第1张图片

解题思路

定义排序规则,对字符串进行排序,然后输出即可,排序的规则为两个字符串 A,B。A在左侧B在右侧 和 B在左侧A在右侧 两个组成的数字哪个更大。


import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
    static class Compare implements Comparator<String> {
        @Override
        public int compare(String o1, String o2) {
            // TODO Auto-generated method stub
            long val1 = Long.valueOf(o1 + o2);
            long val2 = Long.valueOf(o2 + o1);
            if (val1 > val2)
                return 1;
            else if (val1 < val2)
                return -1;
            else
                return 0;
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        String[] data = str.split(" ");
        Arrays.sort(data, new Compare());
        for (int i = data.length - 1; i >= 0; i--)
            System.out.print(data[i]);
        System.out.println();

    }
}

你可能感兴趣的:(网易笔试题)