File tree Expand file tree Collapse file tree 3 files changed +31
-12
lines changed
main/java/com/fishercoder/solutions
test/java/com/fishercoder Expand file tree Collapse file tree 3 files changed +31
-12
lines changed Original file line number Diff line number Diff line change @@ -61,7 +61,7 @@ Your ideas/fixes/algorithms are more than welcome!
6161| 925| [ Long Pressed Name] ( https://leetcode.com/problems/long-pressed-name/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_925.java ) | O(n) | O(1) | | Easy|
6262| 922| [ Sort Array By Parity II] ( https://leetcode.com/problems/sort-array-by-parity-ii/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_922.java ) | O(n) | O(1) | | Easy|
6363| 917| [ Reverse Only Letters] ( https://leetcode.com/problems/reverse-only-letters/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_917.java ) | O(n) | O(n) | | Easy|
64- | 908| [ Smallest Range I] ( https://leetcode.com/problems/smallest-range-i/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_908.java ) | O(nlogn ) | O(1) | | Easy|
64+ | 908| [ Smallest Range I] ( https://leetcode.com/problems/smallest-range-i/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_908.java ) | O(n ) | O(1) | | Easy|
6565| 900| [ RLE Iterator] ( https://leetcode.com/problems/rle-iterator/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_900.java ) | O(n) | O(1) | | Medium|
6666|897|[ Increasing Order Search Tree] ( https://leetcode.com/problems/increasing-order-search-tree/ ) |[ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_897.java ) | O(n) | O(n) | |Easy| DFS, recursion
6767| 896| [ Monotonic Array] ( https://leetcode.com/problems/monotonic-array/ ) | [ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_896.java ) | O(n) | O(1) | | Easy|
Original file line number Diff line number Diff line change 3737 * 0 <= K <= 10000
3838 */
3939public class _908 {
40- public static class Solution1 {
41- public int smallestRangeI (int [] A , int K ) {
42- Arrays .sort (A );
43- int smallestPlus = A [0 ] + K ;
44- int biggestMinus = A [A .length - 1 ] - K ;
45- int diff = biggestMinus - smallestPlus ;
46- if (diff > 0 ) {
47- return diff ;
48- } else {
49- return 0 ;
40+ public static class Solution1 {
41+ public int smallestRangeI (int [] A , int K ) {
42+ Arrays .sort (A );
43+ int smallestPlus = A [0 ] + K ;
44+ int biggestMinus = A [A .length - 1 ] - K ;
45+ int diff = biggestMinus - smallestPlus ;
46+ if (diff > 0 ) {
47+ return diff ;
48+ } else {
49+ return 0 ;
50+ }
51+ }
52+ }
53+
54+ public static class Solution2 {
55+ public int smallestRangeI (int [] A , int K ) {
56+ int min = A [0 ];
57+ int max = A [0 ];
58+
59+ for (int k : A ) {
60+ min = Math .min (min , k );
61+ max = Math .max (max , k );
62+ }
63+
64+ return Math .max (max - min - 2 *K , 0 );
5065 }
51- }
5266 }
5367}
Original file line number Diff line number Diff line change 88
99public class _908Test {
1010 private static _908 .Solution1 solution1 ;
11+ private static _908 .Solution2 solution2 ;
1112 private static int [] A ;
1213
1314 @ BeforeClass
1415 public static void setup () {
1516 solution1 = new _908 .Solution1 ();
17+ solution2 = new _908 .Solution2 ();
1618 }
1719
1820 @ Test
1921 public void test1 () {
2022 A = new int [] {1 };
2123 assertEquals (0 , solution1 .smallestRangeI (A , 0 ));
24+ assertEquals (0 , solution2 .smallestRangeI (A , 0 ));
2225 }
2326
2427 @ Test
2528 public void test2 () {
2629 A = new int [] {0 , 10 };
2730 assertEquals (6 , solution1 .smallestRangeI (A , 2 ));
31+ assertEquals (6 , solution2 .smallestRangeI (A , 2 ));
2832 }
2933
3034 @ Test
3135 public void test3 () {
3236 A = new int [] {1 , 3 , 6 };
3337 assertEquals (0 , solution1 .smallestRangeI (A , 3 ));
38+ assertEquals (0 , solution2 .smallestRangeI (A , 3 ));
3439 }
3540}
You can’t perform that action at this time.
0 commit comments