当前位置: 首页 > news >正文

重庆网站开发服务器梓潼网站建设

重庆网站开发服务器,梓潼网站建设,百度指数的网址,如何做企业网站建设day27【LeetCode】454. 四数相加 II 1.题目描述 附上题目链接&#xff1a;四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] …

day27【LeetCode】454. 四数相加 II

1.题目描述

附上题目链接:四数相加 II

给你四个整数数组 nums1nums2nums3nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:

  • 0 <= i, j, k, l < n
  • nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

示例 1:

输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]
输出:2
解释:
两个元组如下:
1. (0, 0, 0, 1) -> nums1[0] + nums2[0] + nums3[0] + nums4[1] = 1 + (-2) + (-1) + 2 = 0
2. (1, 1, 0, 0) -> nums1[1] + nums2[1] + nums3[0] + nums4[0] = 2 + (-1) + (-1) + 0 = 0

示例 2:

输入:nums1 = [0], nums2 = [0], nums3 = [0], nums4 = [0]
输出:1

2.题解

c++
(写法一)
class Solution {
public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {unordered_map<int,int> mymap;int count=0;for(int a : nums1){for(int b : nums2){mymap[a+b]++;}}for(int c:nums3){for(int d:nums4){if(mymap.find(0-(c+d)) != mymap.end()){count += mymap[0-(c+d)];}}}return count;}
};

解读:

  1. 定义了一个 unordered_map<int, int> 类型的哈希表 mymap,用于存储两个数组中元素的和以及对应的出现次数。
  2. 遍历 nums1 和 nums2 两个数组,将两个数组中元素两两相加的结果存入哈希表 mymap 中。
  3. 再次遍历 nums3 和 nums4 两个数组,在遍历过程中,判断哈希表中是否存在 -(c+d) 这个值,若存在,则将对应的数量累加到 count 中。
  4. 最终返回 count,即满足条件的两两相加等于 0 的组合数量。
(写法二)
public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {unordered_map<int,int> mymap;int count=0;for(int a : nums1){for(int b : nums2){mymap[a+b]++;}}for(int c:nums3){for(int d:nums4){if(mymap.count(-c-d)){count += mymap[-c-d];}}}return count;}
};

本质是一样的,只不过在寻找对应数的时候,用的是count函数 以及简化了写法。

python
(版本一)使用字典
class Solution:def fourSumCount(self, nums1: List[int], nums2: List[int], nums3: List[int], nums4: List[int]) -> int:mymap = dict()count = 0for a in nums1:for b in nums2:if a+b in mymap:mymap[a+b] += 1else:mymap[a+b] = 1for c in nums3:for d in nums4:if -c-d in mymap:count += mymap[-c-d]return count

第一个if那儿,可以换成下面这种写法,一行搞定。

mymap[a+b] = mymap.get(a+b, 0) + 1
(版本二)使用defaultdict
class Solution:def fourSumCount(self, nums1: List[int], nums2: List[int], nums3: List[int], nums4: List[int]) -> int:rec = defaultdict(int)count = 0for i in nums1:for j in nums2:rec[i+j] += 1for i in nums3:for j in nums4:count += rec.get((-i-j),0)return count
(版本三)使用counter
class Solution:def fourSumCount(self, nums1: List[int], nums2: List[int], nums3: List[int], nums4: List[int]) -> int:rec = collections.Counter(i+j for i in nums1 for j in nums2)count = 0for i in nums3:for j in nums4:if -i-j in rec:count += rec[-i-j]return count

ok了,就到这里叭~~~

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新的最大动力!

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新的最大动力!

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新的最大动力!

http://www.yayakq.cn/news/661117/

相关文章:

  • wordpress分类目录网站主题个人网站可以做产品众筹吗
  • 网站怎么做架构图小程序如何申请
  • 专做白酒的网站网站关键词作用
  • 公司注册官方网站设计联盟网站
  • 石家庄网站建设全包免费做国际网站有哪些
  • asp古典网站源码新密做网站
  • 移动端网站和app开发餐饮营销方案
  • 中国建设银行网站晋阳支行wordpress响应慢原因
  • 中跃建设集团有限公司网站怎样做网站的外链
  • 员工管理网站模板天津宏宇网站建设
  • 网站建设 工具网络公司是做什么
  • 企业建站一条龙网站建设 是否计入固定资产
  • 装修网站设计师中企动力z邮局登录
  • 上海网站公司电话域名访问本地wordpress
  • 外贸网站用什么空间好长沙网站seo按天计费
  • 推广员网站手机站喝茶影视
  • ppt的免费网站网站做cdn
  • django 网站开发案例ios开发教程
  • wordpress 网站标题设置wordpress精美主题
  • 网站开发实战答案大众点评seo关键词优化
  • 行业门户网站运营方案广东省广州市番禺区
  • 网站视觉分析聊城网站建设优化
  • 外贸网站在哪做外链淄博亿泰
  • seo网站推广主要目的不包括wordpress 如何改中文
  • 网站建站报价单做淘宝客网站性质
  • 男男做暧网站免费wordpress教程 好看
  • 电商供货平台唐山seo公司
  • 个人空间网站建设wordpress用户投稿
  • 外国人做那个视频网站吗利于优化的网站模板
  • wordpress滑动插件兰州企业网络优化服务