Image Overlap LeetCode solution in C++
1class Solution {2public:3int largestOverlap(vector<vector<int>> &img1, vector<vector<int>> &img2) {4int n = img1.size();5vector<pair<int, int>> vec_a;6vector<pair<int, int>> vec_b;7for (int i = 0; i < n; i++) {8for (int j = 0; j < n; j++) {9if (img1[i][j] == 1) {10vec_a.push_back({i, j});11}12if (img2[i][j] == 1) {13vec_b.push_back({i, j});14}15}16}17int ans = 0;18map<pair<int, int>, int> mp;19for (auto [i1, j1] : vec_a) {20for (auto [i2, j2] : vec_b) {21mp[{i1 - i2, j1 - j2}]++;22ans = max(ans, mp[{i1 - i2, j1 - j2}]);23}24}25return ans;26}27};