温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

一组数中寻找不重复的三元组

发布时间:2020-07-11 08:57:15 来源:网络 阅读:263 作者:liuhong2016 栏目:web开发

给定一个包含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);
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI