小工具知识网

当前位置: 首页 > 行业知识 > 刷题第六天

行业知识

刷题第六天

2026-11-01 06:18:31 来源:互联网转载

代码随想录刷题第六天 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

454.四数相加II

这个题分完组之后和两数其实差不多 得重新复习STL了,好多东西全忘了,
class Solution {public:    int fourSumCount(vector& nums1, vector& nums2, vector& nums3, vector& nums4) {        unordered_mapumap;        for(int a:nums1){            for(int b:nums2){                umap[a+b]++;            }        }        int count = 0;        for(int c:nums3){            for(int d:nums4){                if(umap.find(0-(c+d))!=umap.end()){                    count = count + umap[0-(c+d)];                }            }        }        return count;    }};

383. 赎金信

这个题倒是很简单,和之前那个题目一样,创个数组就行,就26个字母

class Solution {puindex.php/tags-41973.html" >blic:    bool canConstruct(string ransomNote, string magazine) {        int nums[27] = {0};        for(int i = 0;i  

18. 四数之和

这里可以有负数,所以剪枝操作有问题,不能和三数之和一样,然后居然还会溢出,完全没注意,好多细节
class Solution {public:    vector fourSum(vector& nums, int target) {        vector result;        sort(nums.begin(), nums.end());        for (int k = 0; k  target && nums[k] >= 0) {            break;             }            if (k > 0 && nums[k] == nums[k - 1]) {                continue;            }            for (int i = k + 1; i  target && nums[k] + nums[i] >= 0) {                    break;                }                if (i > k + 1 && nums[i] == nums[i - 1]) {                    continue;                }                int left = i + 1;                int right = nums.size() - 1;                while (right > left) {                    if ((long) nums[k] + nums[i] + nums[left] + nums[right] > target) {                        right--;                    } else if ((long) nums[k] + nums[i] + nums[left] + nums[right]   left && nums[right] == nums[right - 1]) right--;                        while (right > left && nums[left] == nums[left + 1]) left++;                        right--;                        left++;                    }                }            }        }        return result;    }};
()()

上一篇:拍摄软件下载宝典,轻松获取优质拍摄应用,一键开启摄影之旅!

下一篇:正则匹配数字秘籍,轻松掌握数字匹配技巧!