找出与数组相加的整数Ⅰ&Ⅱ
3131.找出与数组相加的整数Ⅰ
数组长度相等,元素一一对应。题目又保证答案一定存在,只需将两个数组从小到大排序,元素之差一定相等。所以只需求一组元素之差即可。不妨取两个数组的最小值之差。因此无需排序。
class Solution { public: int addedInteger(vector<int>& nums1, vector<int>& nums2) { int m = *min_element(nums1.begin(), nums1.end()), n = *min_element(nums2.begin(), nums2.end()); return n - m; } };
3132.找出与数组相加的整数Ⅱ
将两个数组从小到大排序,由于只移除两个元素,
如何判断子序列?——同向双指针 值得学习的
class Solution { public: bool isSubsequence(string s, string t) { if (s == "") return true; int i = 0; for (auto c : t) { if (c == s[i] && ++i == s.size()) return true; } return false; } };
代码实现时,可以先判断保留下来的最小元素是
class Solution { public: int minimumAddedInteger(vector<int>& nums1, vector<int>& nums2) { sort(nums1.begin(), nums1.end()); sort(nums2.begin(), nums2.end()); for (int i = 2; i >= 1; i--) { int delta = nums2[0] - nums1[i]; int j = 0; for (int k = i; k < nums1.size(); k++) { if (nums1[k] + delta == nums2[j] && ++j == nums2.size()) return delta; } } return nums2[0] - nums1[0]; } };
本文作者:胖柚の工作室
本文链接:https://www.cnblogs.com/pangyou3s/p/18352775
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步