Day 14 Scope

Today's challenge is so solve problem that you need to calculate maximum absolute sum of given a array every two.

day14.1
day14.2

Here is my solution:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.luopandeng.hackerrank;

import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;

/**
* @Author: LPD0155
* @Date: 2019/10/14:9:58
*/


class Difference {
private int[] elements;
public int maximumDifference;

public Difference(int[] a) {
this.elements = a;
}

public void computeDifference() {
HashSet<Integer> integers = new HashSet<>();
for (int i = 0; i < elements.length; i++) {
for (int j = i; j < elements.length; j++) {
integers.add(Math.abs(elements[i] - elements[j]));
}
}
maximumDifference = Collections.max(integers);

}

// Add your code here

} // End of Difference class


public class Day14Scope {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
sc.close();

Difference difference = new Difference(a);

difference.computeDifference();

System.out.print(difference.maximumDifference);
}


}

Solution From Others:

1
2
3
4
5
6
7
8
9
public Difference(int[] elements){
this.elements = elements;
}

public void computeDifference(){
Arrays.sort(elements);
this.maximumDifference = Math.abs(elements[elements.length - 1] - elements[0]);
}

2 min. read