/**
* Problem: LeetCode 2540 - Minimum Common Value
* Difficulty: Easy
* Language: Java
* Author: CodeByTushu
*/
class Solution {
public int getCommon(int[] nums1, int[] nums2) {
int i = 0;
int j = 0;
int n = nums1.length;
int m = nums2.length;
// Two-pointer linear traversal over both sorted arrays
while (i < n && j < m) {
if (nums1[i] == nums2[j]) {
return nums1[i]; // Smallest common element found
} else if (nums1[i] < nums2[j]) {
i++;
} else {
j++;
}
}
return -1;
}
}
"""
Problem: LeetCode 2540 - Minimum Common Value
Difficulty: Easy
Language: Python
Author: CodeByTushu
"""
from typing import List
class Solution:
def getCommon(self, nums1: List[int], nums2: List[int]) -> int:
i, j = 0, 0
n, m = len(nums1), len(nums2)
# Two-pointer traversal over both sorted arrays
while i < n and j < m:
if nums1[i] == nums2[j]:
return nums1[i]
elif nums1[i] < nums2[j]:
i += 1
else:
j += 1
return -1
/**
* Problem: LeetCode 2540 - Minimum Common Value
* Difficulty: Easy
* Language: C++
* Author: CodeByTushu
*/
#include <vector>
using namespace std;
class Solution {
public:
int getCommon(vector<int>& nums1, vector<int>& nums2) {
int i = 0;
int j = 0;
int n = nums1.size();
int m = nums2.size();
// Two-pointer scan through sorted vectors
while (i < n && j < m) {
if (nums1[i] == nums2[j]) {
return nums1[i];
} else if (nums1[i] < nums2[j]) {
i++;
} else {
j++;
}
}
return -1;
}
};
/**
* Problem: LeetCode 2540 - Minimum Common Value
* Difficulty: Easy
* Language: JavaScript
* Author: CodeByTushu
*/
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number}
*/
var getCommon = function(nums1, nums2) {
let i = 0;
let j = 0;
const n = nums1.length;
const m = nums2.length;
// Two-pointer traversal
while (i < n && j < m) {
if (nums1[i] === nums2[j]) {
return nums1[i];
} else if (nums1[i] < nums2[j]) {
i++;
} else {
j++;
}
}
return -1;
};