[Day27]Vito'sfamily

上一篇介绍了Jolly Jumpers,这题讲了判断是不是Jolly Jumpers,也就是输入一个数字N,并且左边的数字减右边的数字的绝对值范围会在1~N-1内,并且都不会重复,换句话说就是1~N-1范围内的每个数字都会出现在答案理,这样就是Jolly Jumpers。

今天讲解的题目是Vito'sfamily
先附上程序码:

import java.util.;
import static java.lang.System.
;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int C=sc.nextInt();
for(int x=0;x<C;x++){
int A=sc.nextInt();
int arr[]=new int[A];
for(int i=0;i<A;i++){
arr[i]=sc.nextInt();
}
Arrays.sort(arr);
int D=0;
for(int i=0;i<A;i++){
D+=Math.abs(arr[i]-arr[A/2]);
}
System.out.println(D);
}
}
}
};

这题简单来说就是要找出中位数,并输出中位数减去其他数的总和,因为中位数跟其他数相减的总合会最小,一开始先输入一个C当作有几题,在输入一个A当作一题里面有几个数字,接下来就是使用回圈跟阵列把输入的数字写进去,然後先排序,这样找出中位数会比较方便,之後只需要把每个数都减掉arrA/2再加总就可以了,这题只要把总共的几个的数/2就可以拿到中位数的位子了。
今天的讲解就到这里。
明天也是新的题目,会介绍Hashmat the brave warrior ,继续加油!


<<:  从 JavaScript 角度学 Python(26) - 指定直译器

>>:  Day16 - RadioButton(一)

从 React 开始,让你的网页material-ui起来 [Day 1] 受众&&环境

前言 身为一个一年纯前端 一开始还用一些000webhost 手动排版 一路上学React 第二份却...

Day 1 : 前言与DevOps

前言 大家好,我是Lufor,第一次参加铁人赛。这是我的主要Blog网址: https://lufo...

Unity与Photon的新手相遇旅途 | Day18-技能冷却

今天的内容为教大家如何制作技能冷却的效果。 ...

从登入画面开始做起(下)Day4

今天做昨天说到file owner的详细实作方法 1. 将设计好的Xib的file owner属性添...

[Day18] 长尾问题 (long tail problem)

到现在为止,您的设计应该涵盖大多数用户将遵循的对话流。 现在是时候关注对话流的长尾问题了。 想想您...