【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和

文章目录

  • 前言
  • 一、三数之和
  •       1.1 题目描述
  •       1.2 题目解析
  •              1.2.1 算法原理
  •              1.2.2 代码编写
  •              1.2.3 题目总结
  • 二、四数之和
  •       2.1 题目描述
  •       2.2 题目解析
  •              2.2.1 算法原理
  •              2.2.2 代码编写
  •              2.2.3 题目总结
  • 总结


前言


一、三数之和

1.1 题目描述

描述:

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != ji != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。


注意:答案中不可以包含重复的三元组。


提示:

  • 3 <= nums.length <= 3000
  • -10^5 <= nums[i] <= 10^5

示例1:

【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和_第1张图片


示例2:
【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和_第2张图片


示例3:

【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和_第3张图片


1.2 题目解析

1.2.1 算法原理


1.2.2 代码编写


1.2.3 题目总结


二、四数之和

2.1 题目描述

描述:
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):

  • 0 <= a, b, c, d < n
  • abc 和 d 互不相同
  • nums[a] + nums[b] + nums[c] + nums[d] == target

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


提示:

  • 1 <= nums.length <= 200
  • -10^9 <= nums[i] <= 10^9
  • -10^9 <= target <= 10^9

示例1:
【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和_第4张图片


示例2:

【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和_第5张图片


2.2 题目解析

2.2.1 算法原理


2.2.2 代码编写


2.2.3 题目总结

总结

【优选算法系列】【专题一双指针】第四节.15. 三数之和和18. 四数之和_第6张图片

你可能感兴趣的:(优选算法系列,算法)