一组数中寻找不重复的三元组-创新互联
给定一个包含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);
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:一组数中寻找不重复的三元组-创新互联
路径分享:http://cdiso.cn/article/jdjio.html