File tree 2 files changed +49
-0
lines changed
src/main/java/com/fishercoder/solutions
2 files changed +49
-0
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ Your ideas/fixes/algorithms are more than welcome!
20
20
21
21
| # | Title | Solutions | Time | Space | Difficulty | Tag | Notes
22
22
|-----|----------------|---------------|---------------|---------------|-------------|--------------|-----
23
+ |624|[ Maximum Distance in Arrays] ( https://leetcode.com/problems/maximum-distance-in-arrays/ ) |[ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_624.java ) | O(nlogn) |O(1) | Easy | Sort, Array
23
24
|617|[ Merge Two Binary Trees] ( https://leetcode.com/problems/merge-two-binary-trees/ ) |[ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_617.java ) | O(n) |O(h) | Easy | Tree, Recursion
24
25
|616|[ Add Bold Tag in String] ( https://leetcode.com/problems/add-bold-tag-in-string/ ) |[ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_616.java ) | O(n* k) (n is length of string, k is size of dict) |O(n) | Medium | String
25
26
|611|[ Valid Triangle Number] ( https://leetcode.com/problems/valid-triangle-number/ ) |[ Solution] ( ../master/src/main/java/com/fishercoder/solutions/_611.java ) | O(n^2logn) |O(logn) | Medium | Binary Search
Original file line number Diff line number Diff line change
1
+ package com .fishercoder .solutions ;
2
+
3
+ import java .util .ArrayList ;
4
+ import java .util .Collections ;
5
+ import java .util .List ;
6
+
7
+ /**
8
+ * 624. Maximum Distance in Arrays
9
+ *
10
+ * Given m arrays, and each array is sorted in ascending order.
11
+ * Now you can pick up two integers from two different arrays (each array picks one)
12
+ * and calculate the distance. We define the distance between two
13
+ * integers a and b to be their absolute difference |a-b|. Your task is to find the maximum distance.
14
+
15
+ Example 1:
16
+ Input:
17
+ [[1,2,3],
18
+ [4,5],
19
+ [1,2,3]]
20
+
21
+ Output: 4
22
+
23
+ Explanation:
24
+
25
+ One way to reach the maximum distance 4 is to pick 1 in the first or third array and pick 5 in the second array.
26
+
27
+ Note:
28
+ Each given array will have at least 1 number. There will be at least two non-empty arrays.
29
+ The total number of the integers in all the m arrays will be in the range of [2, 10000].
30
+ The integers in the m arrays will be in the range of [-10000, 10000].
31
+ */
32
+ public class _624 {
33
+
34
+ public int maxDistance (int [][] arrays ) {
35
+ List <Integer > max = new ArrayList <>();
36
+ for (int [] array : arrays ) {
37
+ max .add (array [array .length -1 ]);
38
+ }
39
+ Collections .sort (max );
40
+ int ans = Integer .MIN_VALUE ;
41
+ for (int [] array : arrays ) {
42
+ int big = array [array .length -1 ] == max .get (max .size ()-1 ) ? max .get (max .size ()-2 ) : max .get (max .size ()-1 );
43
+ ans = Math .max (ans , big - array [0 ]);
44
+ }
45
+ return ans ;
46
+ }
47
+
48
+ }
You can’t perform that action at this time.
0 commit comments