-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathArray_Leetcode_Intersection_Two_Array_II_350.cpp
More file actions
53 lines (40 loc) · 1.21 KB
/
Array_Leetcode_Intersection_Two_Array_II_350.cpp
File metadata and controls
53 lines (40 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
350. Intersection of Two Arrays II
Given two integer arrays nums1 and nums2, return an array of their intersection. Each element in the result must appear as many times as it shows in both arrays and you may return the result in any order.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2,2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Output: [4,9]
Explanation: [9,4] is also accepted.
*/
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
vector<int> ans;
//striver sheet wala jo question solve kiya tha usi ko alter karke solve kar diya HAHAHA!!
int i=0;
int j=0;
int n= nums1.size();
int m = nums2.size();
sort(nums1.begin(),nums1.end());
sort(nums2.begin(),nums2.end());
while(i<n && j<m)
{
if(nums1[i] < nums2[j]) {
// ans.push_back(nums1[i]);
i++;
} else if(nums1[i] > nums2[j]) {
// ans.push_back(nums2[j]);
j++;
} else {
// Both are equal
ans.push_back(nums1[i]);
i++;
j++;
}
}
return ans;
}
};