输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
示例 2:
输入:nums = []
输出:[]
test(s){
if(s.length<3){
return
}
let arr = []
for(let i=0;i<s.length;i++){
for(let j=i+1;j<s.length;j++){
for(let k=j+1;k<s.length;k++){
if(s[i]+s[j]+s[k]==0){
let a = [s[i],s[j],s[k]]
//让元素从小到大排列
for(let m=0;m<a.length;m++){
for(let n=m+1;n<a.length;n++){
let temp
if(a[m]>a[n]){
temp = a[m]
a[m] = a[n]
a[n] = temp
}
}
}
//将元素转换为字符串
for(let x = 0;x<a.length;x++){
a[x] = a[x]+''
}
//将数组变为字符串
a = a.join('')
if(arr.indexOf(a)==-1){
arr.push(a)
}
}
}
}
}
//再将字符串转化为数组
for(let i=0;i<arr.length;i++){
arr[i] = arr[i].split('')
}
//负数处理
for(let i = 0;i<arr.length;i++){
let arr2 = []
for(let j=0;j<arr[i].length;j++){
if(arr[i][j]=='-'){
let m = arr[i][j]+arr[i][j+1]+''
arr2.push(m)
j++
}else{
arr2.push(arr[i][j])
}
}
arr[i] = arr2
}
//将元素转化为数字类型
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr[i].length;j++){
arr[i][j] = arr[i][j]-0
}
}
console.log(arr);
}
来源于力扣