码迷,mamicode.com
首页 > 其他好文 > 详细

牛客网编程练习之编程马拉松:砌墙

时间:2017-12-13 02:24:51      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:links   ring   技术分享   https   分享图片   ice   int()   高度   ann   

技术分享图片

技术分享图片

 

 

思路其实很简单,无论再少的步骤,至少要能把矮的堆到平均高度,所以只求 sum(avg - (<avg))即可。

 

AC代码:

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

/**
 * @author CC11001100
 */
public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		while (sc.hasNextInt()){
			int n = sc.nextInt();
			int[] stacks = new int[n];
			for (int i = 0; i < n; i++) {
				stacks[i] = sc.nextInt();
			}

			System.out.println(resolve(stacks));
		}

	}

	private static int resolve(int[] n) {
		int avg = (int) Arrays.stream(n).average().orElse(0);
		return Arrays.stream(n).map(x -> x >= avg ? 0 : avg - x).sum();
	}

}

 

 

题目来源: https://www.nowcoder.com/practice/f1b67248244c4226a5289c993bc28128?tpId=3&tqId=10914&tPage=1&rp=&ru=/ta/hackathon&qru=/ta/hackathon/question-ranking

牛客网编程练习之编程马拉松:砌墙

标签:links   ring   技术分享   https   分享图片   ice   int()   高度   ann   

原文地址:http://www.cnblogs.com/cc11001100/p/8030436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!