Sponsored
Sponsored
This approach utilizes the fact that both arrays are sorted. Using two pointers, one for each array, we traverse the arrays to find the smallest common value:
Time Complexity: O(n + m), where n and m are the lengths of the two arrays. We only traverse each array once.
Space Complexity: O(1), no additional space is used apart from a few variables.
1public class Main {
2 public static int findMinCommonValue(int[] nums1, int[] nums2) {
3 int i = 0, j
The Java version also utilizes the same two-pointer strategy. It keeps the code elegant with the use of simple while-loop control structures as seen in other popular languages.
This approach uses a HashSet to store the elements of the smaller array, providing a quick way to check for common elements:
Time Complexity: O(n log n + m), mainly due to qsort and possibly bsearch in the worst case scenario per element in the second array.
Space Complexity: O(n), additional space used for sorting elements.
This Python solution uses Python's set data structure to conveniently test for the presence of elements in constant time. We insert elements of one array into a set and test elements of the other array against it.