牛客网编程练习之编程马拉松:砌墙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客网编程练习之编程马拉松:砌墙相关的知识,希望对你有一定的参考价值。
思路其实很简单,无论再少的步骤,至少要能把矮的堆到平均高度,所以只求 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(); } }
以上是关于牛客网编程练习之编程马拉松:砌墙的主要内容,如果未能解决你的问题,请参考以下文章