Moving Stones Until Consecutive LeetCode solution in Java

1
class Solution {
2
public int[] numMovesStones(int a, int b, int c) {
3
int[] arr = {a, b, c};
4
int[] arr2 = {a, b, c};
5
int maximum = findMaximum(arr);
6
int minimum = findMinimum(maximum, arr2);
7
return new int[] {minimum, maximum};
8
}
9

10
public int findMaximum(int[] arr) {
11
Arrays.sort(arr);
12
int count = 0;
13
if (arr[0] == (arr[1] - 1) && arr[1] == (arr[2] - 1)) return count;
14
if (arr[0] == arr[1] - 1) {
15
arr[2]--;
16
count++;
17
} else {
18
arr[0]++;
19
count++;
20
}
21
return count + findMaximum(arr);
22
}
23

24
public int findMinimum(int max, int[] arr) {
25
Arrays.sort(arr);
26
if (max == 0) return 0;
27
else if (Math.abs(arr[0] - arr[1]) > 2 && Math.abs(arr[1] - arr[2]) > 2) return 2;
28
else return 1;
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0