news 2026/7/10 7:53:17

四数相加贰——哈希表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
四数相加贰——哈希表

给你四个整数数组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

思路

用哈希表记录 nums1+nums2 的所有两数之和出现次数,再遍历 nums3+nums4 查找是否存在能与之凑成 0 的相反数,从而快速统计四数和为 0 的组合数量。

from collections import defaultdict from typing import List class Solution: def fourSumCount(self, nums1: List[int], nums2: List[int], nums3: List[int], nums4: List[int]) -> int: d=defaultdict(int) res=0 for n1 in nums1: for n2 in nums2: d[n1+n2]+=1 for n3 in nums3: for n4 in nums4: res+=d[-(n3+n4)] return res
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 18:04:20

Beyond Compare 5密钥生成技术深度解析:逆向工程与数字签名机制

在软件授权验证领域&#xff0c;Beyond Compare 5作为一款专业的文件对比工具&#xff0c;其授权机制采用了复杂的RSA数字签名技术。本文将从技术原理、安全机制和实现方法三个维度&#xff0c;深入剖析该软件的密钥生成技术。 【免费下载链接】BCompare_Keygen Keygen for BCo…

作者头像 李华
网站建设 2026/7/9 20:38:01

达梦数据库中视图与索引的创建及使用详解

索引&#xff1a;在数据库管理与应用开发过程中&#xff0c;视图和索引是两个非常重要的数据库对象。视图能够简化复杂查询、保障数据安全&#xff0c;索引则可以大幅提升数据查询效率。本文将针对达梦&#xff08;DM&#xff09;数据库&#xff0c;详细介绍视图和索引的概念、…

作者头像 李华
网站建设 2026/7/10 7:52:49

macOS NTFS磁盘读写解决方案:技术实现与操作实践

macOS NTFS磁盘读写解决方案&#xff1a;技术实现与操作实践 【免费下载链接】ntfstool A ntfs tool for mac 项目地址: https://gitcode.com/gh_mirrors/nt/ntfstool 在跨平台数据交换日益频繁的今天&#xff0c;macOS用户面临着一个持续存在的技术挑战&#xff1a;对N…

作者头像 李华
网站建设 2026/7/10 13:12:03

字符串拓展

字符串拓展 一、字符串的三种定义方式 字符串在python中有多种定义形式 # 单引号定义法 name黑马程序员 print(type(name)) # 双引号定义法 name "黑马程序员" print(type(name))# 三引号定义法&#xff0c;写法和多行注释是一样的 name""" 我是 黑…

作者头像 李华