Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

n 인수의 가능한 모든 결합(더하기 및 빼기) 합계 찾기 JavaScript

<시간/>

임의의 수의 인수(모두 숫자 유형)에 있는 JavaScript 함수를 작성해야 합니다.

함수는 덧셈과 뺄셈의 가능한 모든 합을 계산해야 합니다.

예를 들어 - 인수가 1, 2, 3인 경우

그런 다음 가능한 모든 조합은 -

1 + 2 + 3
1 - 2 - 3
1 + 2 - 3
1 - 2 + 3

마지막으로 함수는 0에 가장 가까운 합이 되어야 합니다. 이 경우 답은 0입니다.

예시

const findSmallestPositive = (...arr) => {
   let set = new Set([Math.abs(arr[0])]);
   for (let i = 1;
   i < arr.length; i++){
      const secondSet = new Set;
      for (let d of Array.from(set)){
         secondSet.add(Math.abs(d + arr[i]))
         secondSet.add(Math.abs(d - arr[i]))
      };
      set = secondSet;
   };
   return Math.min(...Array.from(set))
};
console.log(findSmallestPositive(5,3))
console.log(findSmallestPositive(1,2,3))
console.log(findSmallestPositive(1,2,3,5))

출력

이것은 다음과 같은 출력을 생성합니다 -

2
0
1