本文主要是介绍贪心算法--使每组第二大的数尽可能大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
链接:组队竞赛
分析:
- 策略:使每一组第二大的数字尽可能的大
- 先排序–取第二大的数字
import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int[] arr = new int[3 * n];for(int i = 0; i < arr.length; i++) arr[i] = in.nextInt();Arrays.sort(arr);// 排序int pos = arr.length - 2, cnt = 1;long ret = 0;while(cnt++ <= n) {// 最多n组ret += arr[pos];pos -= 2;}System.out.print(ret);}
}
这篇关于贪心算法--使每组第二大的数尽可能大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!