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

LeetCode454. 四数相加 II和1.两数之和

1. 两数之和

哈希表

提示
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]
示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

提示:

2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
只会存在一个有效答案

进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int>hash;for(int i=0;i<nums.size();++i){const auto it=hash.find(target-nums[i]);if(it!=hash.end()){return{it->second,i};}else{hash.insert({nums[i],i});}}return{};}
};

454. 四数相加 II

已解答
给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 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

提示:

n == nums1.length
n == nums2.length
n == nums3.length
n == nums4.length
1 <= n <= 200
-228 <= nums1[i], nums2[i], nums3[i], nums4[i] <= 228

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

相关文章:

  • 探索全球DNS体系 | 从根服务器到本地解析
  • Ubuntu 22.04 LTS 安装使用腾达(Tenda) W311MIv6 AX300 无线网卡
  • Elasticsearch:介绍 kNN query,这是进行 kNN 搜索的专家方法
  • 如何在科技创新中发挥国有企业的战略支撑作用?
  • 使用AFPN渐近特征金字塔网络优化YOLOv8改进小目标检测效果(不适合新手)
  • vue3-组件基础
  • Next-GPT: Any-to-Any Multimodal LLM
  • python:最简单爬虫之使用Scrapy框架爬取小说
  • Linux查找日志常用命令
  • PyTorch深度学习实战(31)——生成对抗网络(Generative Adversarial Network, GAN)
  • 计算机网络自顶向下Wireshark labs1-Intro
  • VUE组件--动态组件、组件保持存活、异步组件
  • 【多线程】认识Thread类及其常用方法
  • 2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 理论题
  • 力扣746. 使用最小花费爬楼梯
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【个人向】《HTTP图解》阅后小结
  • 11111111
  • Android Studio:GIT提交项目到远程仓库
  • CSS居中完全指南——构建CSS居中决策树
  • FastReport在线报表设计器工作原理
  • IOS评论框不贴底(ios12新bug)
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript学习总结——原型
  • Java教程_软件开发基础
  • jquery ajax学习笔记
  • node入门
  • passportjs 源码分析
  • Spring Cloud中负载均衡器概览
  • spring security oauth2 password授权模式
  • SpringBoot 实战 (三) | 配置文件详解
  • Terraform入门 - 1. 安装Terraform
  • webpack4 一点通
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 回顾2016
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 译有关态射的一切
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​水经微图Web1.5.0版即将上线
  • (02)vite环境变量配置
  • (2020)Java后端开发----(面试题和笔试题)
  • (Git) gitignore基础使用
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)springcloud实战之config配置中心
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (利用IDEA+Maven)定制属于自己的jar包
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .apk 成为历史!
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • []Telit UC864E 拨号上网
  • [145] 二叉树的后序遍历 js