20220422, first time
| 字节面试题javascript
function fun(arr, n, sum) {
if (arr.length < n) return -1;
let path = [];
let ans = [];
const backTracking = (used) => {
if (path.length === n) {
ans.push([...path]);
return;
}
for (let i = 0; i < arr.length; i++) {
if (used[i]) continue;
if (i > 0 && arr[i] === arr[i - 1] && !used[i]) continue;
path.push(arr[i));
used[i] = true;
backTracking(used);
path.pop();
used[i] = false;
}
}
backTracking([]);
let result = [];
ans.forEach(item => {
let s = 0;
item.forEach(j => {
s += j;
if (s === sum) {
result = [...item];
}
});
})
return result;
}
|
| —- |