aboutsummaryrefslogtreecommitdiff
path: root/max_distance_arr.py
diff options
context:
space:
mode:
Diffstat (limited to 'max_distance_arr.py')
-rw-r--r--max_distance_arr.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/max_distance_arr.py b/max_distance_arr.py
new file mode 100644
index 0000000..ab0b9de
--- /dev/null
+++ b/max_distance_arr.py
@@ -0,0 +1,27 @@
+# 624. Maximum Distance in Arrays
+
+"""
+you are given 'm' arrays where each array is sorted in ascending order. you
+can pick up two integers from two different arrays (each array picks one) and
+calculate the distance. we define the distance between two integer 'a' and
+'b' to be their absolute idfferent '|a - b|'. return the maximum distance
+"""
+
+
+class Solution(object):
+ def maxDistance(self, arrays):
+ """
+ :type arrays: List[List[int]]
+ :rtype: int
+ """
+ ans, curr_min, curr_max = 0, 10000, -10000
+ for i in arrays:
+ ans = max(ans, max(i[-1] - curr_min, curr_max - i[0]))
+ curr_min, curr_max = min(curr_min, i[0]), max(curr_max, i[-1])
+ return ans
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.maxDistance(arrays=[[1, 2, 3], [4, 5], [1, 2, 3]]))
+ print(obj.maxDistance(arrays=[[1], [1]]))