Skip to content

Commit 1c76034

Browse files
add a solution for 1228
1 parent d2002f9 commit 1c76034

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

src/main/java/com/fishercoder/solutions/_1228.java

+31
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,35 @@ public int missingNumber(int[] arr) {
4646
return (max + min) * (arr.length + 1) / 2 - sum;
4747
}
4848
}
49+
50+
public static class Solution3 {
51+
public int missingNumber(int[] arr) {
52+
if (arr[1] < arr[0]) {
53+
reverse(arr);
54+
}
55+
int diff = -1;
56+
for (int i = 0; i < arr.length - 1; i++) {
57+
if (i == 0) {
58+
diff = arr[i + 1] - arr[i];
59+
} else if (arr[i + 1] - arr[i] > diff) {
60+
return arr[i] + diff;
61+
} else if (arr[i + 1] - arr[i] < diff) {
62+
return arr[i] - (arr[i + 1] - arr[i]);
63+
}
64+
}
65+
return arr[arr.length - 1];
66+
}
67+
68+
private void reverse(int[] arr) {
69+
int i = 0;
70+
int j = arr.length - 1;
71+
while (i < j) {
72+
int tmp = arr[i];
73+
arr[i] = arr[j];
74+
arr[j] = tmp;
75+
i++;
76+
j--;
77+
}
78+
}
79+
}
4980
}

0 commit comments

Comments
 (0)