From 4689e4e80b479be25f7557d05818f5caa723aafa Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Wed, 5 Feb 2025 18:36:31 -0800 Subject: Initial commit. --- .../easy/array/06_intersection_of_two_arrays_II.cc | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 top-interview-questions/easy/array/06_intersection_of_two_arrays_II.cc (limited to 'top-interview-questions/easy/array/06_intersection_of_two_arrays_II.cc') diff --git a/top-interview-questions/easy/array/06_intersection_of_two_arrays_II.cc b/top-interview-questions/easy/array/06_intersection_of_two_arrays_II.cc new file mode 100644 index 0000000..0921be8 --- /dev/null +++ b/top-interview-questions/easy/array/06_intersection_of_two_arrays_II.cc @@ -0,0 +1,27 @@ +class Solution { +public: + vector intersect(vector& nums1, vector& nums2) { + std::sort(nums1.begin(), nums1.end()); + std::sort(nums2.begin(), nums2.end()); + + std::vector result; + result.reserve(std::max(nums1.size(), nums2.size())); + + size_t i = 0; + size_t j = 0; + + while ((i < nums1.size()) && (j < nums2.size())) { + if (nums1[i] == nums2[j]) { + result.push_back(nums1[i]); + ++i; + ++j; + } else if (nums1[i] < nums2[j]) { + ++i; + } else { + ++j; + } + } + + return result; + } +}; -- cgit v1.2.3