给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

注意:

答案中不可以包含重复的四元组。

示例:

给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:
[[-1,  0, 0, 1],[-2, -1, 1, 2],[-2,  0, 0, 2]
]
/*** Created by PhpStorm.* User: taov5* Date: 2019/3/20* Time: 3:37 PM*/
/*** @param Integer[] $nums* @param Integer $target* @return Integer[][]*/
function fourSum($nums, $target) {sort($nums);$len = count($nums);$res = [];for ($i = 0;$i<$len-3;$i++){for ($j=$i+1;$j<$len-2;$j++){$l=$j+1;$r=$len-1;while ($l<$r){$sum = $nums[$i]+$nums[$j]+$nums[$l]+$nums[$r];if($sum===$target && $r>$l){$tmp = [$nums[$i],$nums[$j],$nums[$l],$nums[$r]];$res[]=$tmp;while ($l<$r&&$nums[$r]===$nums[$r-1]){$r--;}while ($l<$r&&$nums[$l]===$nums[$l+1]){$l++;}$r--;$l++;}else{if($sum>$target){$r--;}else{$l++;}}}}}return array_unique($res,SORT_REGULAR);
}
print_r(fourSum([0,0,0,0],0));

用 PHP 来刷leetCode 之 四数之和相关推荐

  1. 20200127:(leetcode)四数之和(动态图解)

    四数之和 题目 基本思路 代码实现 题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + ...

  2. 4. Leetcode 18. 四数之和 (数组-双向双指针)

    给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...

  3. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  4. [Leetcode 18]四数之和 4 Sum

    [题目] Given an array nums of n integers and an integer target, are there elements a, b, c, and d in n ...

  5. 用 PHP 来刷leetCode 之 三数之和

    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...

  6. LeetCode 18. 四数之和 思考分析(双指针解)

    目录 需要注意的几点 1.去除剪枝操作 2.去重操作的细节 code以及效果: 题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b, ...

  7. leetcode 18. 四数之和(双指针)

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  8. leetcode 18. 四数之和 (C++)

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  9. leetcode 18. 四数之和

    题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出 ...

最新文章

  1. 自己制作 SPx N合1 自动安装盘(x86)
  2. java int byte数组_Java 中int与byte数组转换详解
  3. 每日程序C语言20-利用递归求阶乘
  4. 四年才等来的一天,务必要立志,要下决心!
  5. python线性回归x可以数量不一样吗_R和Python中的线性回归 - 在同一问题上的结果不同...
  6. ellen 纽奥良大学演讲
  7. wamp php5.6 mysql5.6,WampServer 3.0.6 多语言版 集成apache2.4.23 mysql5.7.14 php5.6.25-7.0.10 穿墙书店...
  8. 中信银行MySQL面试_【深圳中信银行信用卡中心面试】面试题_面试经验_面试流程-看准网...
  9. 路由器能连接到电视上看电视吗?
  10. 《自己动手写爬虫》笔记
  11. 条码仓库管理系统在食品行业中的应用
  12. USACO 2007 Dec Silver Mud Puddles bfs or A-star
  13. 百度直达号申请开通指南 轻应用开发
  14. anaconda安装及pytorch、tf、jupyter环境配置
  15. win10如何显示html文件夹,Win10显示隐藏文件夹图标_Win10查看隐藏文件夹方法-192路由网...
  16. 微信加菲猫连接服务器失败,加菲猫微信表情包
  17. 《求职》第四部分 - 操作系统篇 - 操作系统基础
  18. js判断苹果ios各类机型
  19. 组策略中的软件限制策略
  20. Java NIO 编程:Buffer、Channel、Selector原理详解

热门文章

  1. zabbix 监控hp 打印机
  2. 车内贵重物品检测方案总结
  3. Ubuntu18如何下载微信和qq
  4. 门店私域流量运营怎么做?
  5. Chrome调试以及选择清除缓存刷新
  6. Redis实现全局唯一id,实现优惠卷秒杀的下单功能
  7. 初识CMake,如何编写一个CMake工程(下)
  8. 深度学习论文阅读目标检测篇(三):Faster R-CNN《 Towards Real-Time Object Detection with Region Proposal Networks》
  9. IDA使用手册_(1)
  10. 韩国顶级舞台剧《爱上街舞少年的芭蕾少女》掀起街舞狂潮