洛谷 1012



题意及思路

  • 题意:😄题意十分简单,就是使给定数中,连接成的数字最大即可。
  • 思路:😏这题本应该是个简单题,先说说我的心路历程。😉第一次,我想的是排序时比较数的最高位大小,然后WA了,举例说明,😊321和312不能光靠第一位上的数来排序。😌第二次,我就想着按位来比较,一个for循环,逐位比较每一位的大小,可是这样依旧WA,🙃具体例子还没想到。😛最后一次,就是拼接比大小,见下述代码。
return (o1 + o2).compareTo(o2 + o1);



代码

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
	private static ArrayList<String> li = new ArrayList<>();

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		while (n-- > 0) {
			String x = in.next();
			li.add(x);
		}
		Collections.sort(li, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				return (o1 + o2).compareTo(o2 + o1);
			}
		});
		int si = li.size() - 1;
		String ans = "";
		for (int i = si; i >= 0; i--) {
			ans += li.get(i);
		}
		System.out.println(ans);
		in.close();
		// 3713211331341
		// 3713411331321
		// 3713411331321
	}
}


全部评论

相关推荐

脾气小祖宗:这简历摸到都得狠狠地消毒液洗手😂
点赞 评论 收藏
分享
09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务