LeetCode 刷题 454

2023-11-16

看完的想法就是暴力解, 不过 不用想都知道超时了

想了一会还是没有思路

就去学习一下别人怎么做的, 感觉就是二数相加 再灵活一点, 这没想到, 还是练得少了

  1. 四个数组 两两分组, 第一组 遍历 相加 将各个和的个数存入map中

  1. 第二组 查找 0于各个和的差值是否出现在map中, 如果出现说明该组合满足条件 count + 1,继续遍历 直到结束, 返回count

class Solution {
public:
    int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
        // 把四个数组 分为两两一组
        unordered_map<int, int> ans1;

        for (int a : nums1)
            for (int b : nums2)
                ++ans1[a + b];

        unordered_map<int, int> ans2;
        int count = 0;

        for (int a : nums3)
            for (int b :nums4)
                if (ans1.find(0 - a - b) != ans1.end())
                    count += ans1.find(0 - a - b)->second;

        return count;
    }
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 刷题 454 的相关文章

随机推荐

  • TCP报文的交互过程

    TCP建立连接和断开连接的过程如下图所示 在TCP 协议提供可靠的连接服务时 采用三次握手建立一个连接 采用四次握手来关闭一个连接 建立TCP连接的三次握手 第一次握手 建立连接时 客户端发送 SYN 包到服务器 等待服务器确认 第二次握手
  • Docker的简介、镜像及优化

    1 docker的安装 1 配置yum源 vim etc yum repo d docker ce repo 编辑内容 vim etc yum repo d CentOS Base repo 编辑内容 2 安装docker yum inst
  • 医疗保健行业中的区块链

    区块链技术是世界上最重要和最具颠覆性的技术之一 多个行业正在采用区块链技术来创新其运作方式 希望采用区块链的行业之一是医疗保健行业 在本指南中 我们将熟悉区块链 特别是有助于打破这个行业原有桎梏的功能 此外 我们将研究医疗行业的未来将会是什
  • 推荐系统实践(八)----评分预测

    目前为止都是在讨论 T o p N TopN TopN 推荐 即给定一个用户 如何给他生成一个长度为 N N
  • JVM 内存模型

    JVM 内存模型 1 JVM 内存模型共分为5个区 Java虚拟机栈 本地方法栈 堆 程序计数器 方法区 元空间 2 各个区各自的作用 a 本地方法栈 用于管理本地方法的调用 里面并没有我们写的代码逻辑 其由native修饰 由 C 语言实
  • 卷积神经网络之-Lenet

    更多内容请关注 机器视觉CV 公众号 原文地址 前言 Lenet 是一系列网络的合称 包括 Lenet1 Lenet5 由 Yann LeCun 等人在1990 年 Handwritten Digit Recognition with a
  • 一个将XM音频导入小宇宙的工具

    这个喜马拉雅语音导出工具 能够帮助你导出喜马拉雅中的音频节目 下载后的音频文件 可以复制到小宇宙设备文件夹里面 这样我们就可以用小宇宙播放我们导入的音频文件啦 windows电脑版 https jscs lanzouw com imVZ40
  • 负载均衡原理分析与源码解读

    上一篇文章一起学习了Resolver的原理和源码分析 本篇继续和大家一起学习下和Resolver关系密切的Balancer的相关内容 这里说的负载均衡主要指数据中心内的负载均衡 即RPC间的负载均衡 传送门 服务发现原理分析与源码解读 基于
  • 强化学习之Grid World的时序差分算法解析【MiniWorld】SYSU_2023SpringRL

    强化学习之Grid World的Monte Carlo算法解析 MiniWorld SYSU 2023SpringRL 题目以及思路 代码 运行结果 算法解析 代码算法流程 题目以及思路 环境在这篇博客强化学习原理及应用作业之动态规划算法
  • c语言输出斐波那契数列前40项

    分析 对于斐波那契数列数列来说 就是前一项和前前一项的和 就是当前项 就比如 1 1 2 3 5 其中2就是1 1 3就是1 2 5就是2 3 所以 在c语言中就可以定义数组的方式 去实现 当然 如果一行输出 不美观 于是利用if语句 将i
  • Streamlit项目: 轻松搭建部署个人博客网站

    文章目录 1 前言 1 1 探索 Streamlit 轻松创建交互式应用 1 2 最全 Streamlit 教程专栏 2 我的个人博客网站已上线 2 1 一个集成了智能中医舌诊 中e诊专栏的博客网站 2 2 前期准备 2 3 使用 Stre
  • MS-RTOS 内核模块动态装载

    1 MS RTOS 内核模块动态装载简介 MS RTOS 支持内核模块动态装载功能 用户可以根据需要 在不需要对内核重新编译的情况下 使用 insmod rmmod 等命令动态地将模块加入或移出内核 这样可以提高 MS RTOS 的灵活性
  • 使用clion链接liunx同步项目并编译

    一 clion的下载和安装 下载官网CLion A Cross Platform IDE for C and C by JetBrains 安装后有30天使用日期 学生可以获得免费教育许可证JetBrains 学习产品 二 clion项目的
  • 注解方式、ServletContext 与 ServletConfig和请求

    回顾 http 协议的定义和组成 请求行 请求头 请求体 响应行 响应头 响应体 常见响应状态码的含义 200 成功 404 未找到 405 方法不支持 500 服务器出现异常 常见请求头 Host 主机 User Agent 客户端类型
  • HarmonyOS云开发基础认证练习题

    系列文章目录 HarmonyOS应用开发者基础认证练习题 HarmonyOS应用开发者高级认证练习题 HarmonyOS云开发基础认证练习题 文章目录 系列文章目录 前言 一 判断 二 单选 三 多选 前言 本文所有内容来源于个人进行Har
  • kali 上下载GitHub文件失败

    出现 Failed to connect to github com port 443 Connection refused 把命令 git clone https github com git 换成 git clone git githu
  • 用Excel做简单的数据分析

    一 使用的数据 1 做月销量的柱状图 按住Ctrl可跨区选中 1 选中数据 2 选择柱状图 一般柱状图都使用2D 3 为图加上数据标签 更加直观 2 以同样的方式做饼图 1 如图 一般饼图都是做3D的 3 求月销售额 单价 X 月销量 1
  • 使用VS Code进行Qt开发

    使用VS Code进行Qt开发 文章目录 使用VS Code进行Qt开发 测试环境 步骤 1 将Qt的bin目录添加到环境变量 2 安装VS Code扩展 3 使用Qt Creator创建CMake项目 4 在VS Code中打开项目 5
  • C#学习笔记--关于银行存取款的小实验

    C 面向对象程序设计 编程模拟实现个人银行的存款业务 要求 1 提供两种账户 活期存款账户CheckingCustom和定期存款账户FixedCustom 2 创建活期账户时 必须提供账户名和开户金额 而账号则根据存款分类自动生成 3 不论
  • LeetCode 刷题 454

    看完的想法就是暴力解 不过 不用想都知道超时了 想了一会还是没有思路 就去学习一下别人怎么做的 感觉就是二数相加 再灵活一点 这没想到 还是练得少了 四个数组 两两分组 第一组 遍历 相加 将各个和的个数存入map中 第二组 查找 0于各个