leetcode454. 四数相加 II(思路+详解)
生活随笔
收集整理的這篇文章主要介紹了
leetcode454. 四数相加 II(思路+详解)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:上碼
class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {/**思路:1.我們用map容器的key值存進去前兩個數的和并記錄其個數,然后在后面兩個數組找其相反數,這樣一相加和就為0,**/unordered_map<int,int>m;//我們采用其主要是因為其查找效率高,底層實現是用的哈希表實現的for(int a :nums1) {//此為增強版的for循環for(int b:nums2) {m[a+b]++;//這里我們統計其個數,是因為會出現 和相同的數 但其下標不同或則所在的數組不同//我們最終是想實現統計的和為0的個數,所以重復的也得統計}}int count = 0;for(int c: nums3) {for(int d: nums4) {if(m.find(0-(c+d)) != m.end()){//c+d是個負數count += m[0-(c+d)];//a+b 有count個數,那么只要有一個c+d = -(a+b),//那么我們就count個組可以實現和0}}}return count;} };
打卡下班啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦哈哈哈哈哈哈哈哈哈 哈哈哈哈哈 加油陌生的你
總結
以上是生活随笔為你收集整理的leetcode454. 四数相加 II(思路+详解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钉钉怎么设置考勤打卡范围100米之内
- 下一篇: leetcode383. 赎金信(两种做