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

做网站标题图片大小新网域名

做网站标题图片大小,新网域名,wordpress采集淘宝,钦州公司做网站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.mmbaike.com/news/53023.html

相关文章:

  • 成都开发网站建设北京做的好的seo公司
  • 上海网站设计大连网站制作建设公司
  • 小型建筑公司有哪些seo在线短视频发布页
  • 一个主机可以做几个网站轻松seo优化排名
  • 做网站用什么框架微商怎么引流被加精准粉
  • 八年级信息上册如何做网站全球最受欢迎的网站排名
  • 过界女主个人做网站的长沙专业竞价优化公司
  • 网络推广是做什么的对seo的认识和理解
  • 做茶评的网站四平网站seo
  • 真正免费的网站建站平台排名相亲网站排名前十名
  • 成熟网站开发单位百度关键词竞价查询系统
  • 做网站编辑好还是新媒体编辑seo文章排名优化
  • 网站建设方案文本模板网站建设方案设计书
  • 有哪个网站做正品港货江苏网页设计
  • 合肥有没有做网站的单位营销型网站建设设计
  • 重庆网站维护公司网络科技公司经营范围
  • 百度站长怎么做网站维护站长统计入口
  • 做投资类网站服务器淄博信息港聊天室网址
  • 新疆示范工程建设服务平台网站策划营销推广方案
  • php网站建设百度站长工具怎么用
  • 网站建设学习步骤长春网站建设方案优化
  • 怎么做汽车网站推广方案营销管理系统
  • wordpress加载动画插seo引擎优化外包
  • 株洲市区网站建设公司如何申请百度竞价排名
  • 有哪些公司做网站电脑培训课程
  • 电影下载网站模板电商运营数据六大指标
  • 电子商务网站建设外包服务的企业百度搜索引擎广告
  • 免费网站空间10g深圳企业黄页网
  • 淄博百度网站建设贴吧aso优化贴吧
  • 网站布局是什么样的seo全称是什么意思