Skip to content

Latest commit

 

History

History

2540

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Given two integer arrays nums1 and nums2, sorted in non-decreasing order, return the minimum integer common to both arrays. If there is no common integer amongst nums1 and nums2, return -1.

Note that an integer is said to be common to nums1 and nums2 if both arrays have at least one occurrence of that integer.

 

Example 1:

Input: nums1 = [1,2,3], nums2 = [2,4]
Output: 2
Explanation: The smallest element common to both arrays is 2, so we return 2.

Example 2:

Input: nums1 = [1,2,3,6], nums2 = [2,3,4,5]
Output: 2
Explanation: There are two common elements in the array 2 and 3 out of which 2 is the smallest, so 2 is returned.

 

Constraints:

  • 1 <= nums1.length, nums2.length <= 105
  • 1 <= nums1[i], nums2[j] <= 109
  • Both nums1 and nums2 are sorted in non-decreasing order.

Companies: Microsoft

Related Topics:
Array, Hash Table, Two Pointers, Binary Search

Similar Questions:

Solution 1. Two Pointers

// OJ: https://leetcode.com/problems/minimum-common-value
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(1)
class Solution {
public:
    int getCommon(vector<int>& A, vector<int>& B) {
        int M = A.size(), N = B.size();
        for (int i = 0, j = 0; i < M && j < N; ) {
            if (A[i] == B[j]) return A[i];
            if (A[i] < B[j]) ++i;
            else ++j;
        }
        return -1;
    }
};