一组数中寻找不重复的三元组
给定一个包含n个整数的数组nums 判断nums中是否存在三个元素a,b,c,使得
a+b+c=0?找出所有满足条件且不重复的三元组
注意:答案中不可以包含重复的三元组。
使用PHP实现。
php 5.2.9 版本增加了array_unique对多维数组的支持,在处理多维数组是需要设置sort_flags参数
一维数组的重复项:
使用array_unique函数即可,使用实例如下:
使用方法:array_unique($result, SORT_REGULAR);
$list = [-1, 0, 1, 2, -1, 4];$len = count($list);if ($len < 3) { return;}$result = [];for ($i = 0; $i < $len - 2; $i++) { for ($j = 1; $j < $len - 1; $j++) { for ($k = 2; $k < $len; $k++) { if ($list[$i] + $list[$j] + $list[$k] == 0) { $item = []; $item[] = $list[$i]; $item[] = $list[$j]; $item[] = $list[$k]; $result[] = $item; } } }}$result = array_unique($result, SORT_REGULAR);
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。