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

JavaScript에서 원하는 조합 생성

<시간/>

이 함수는 1에서 9까지의 숫자만 사용할 수 있고 각 조합은 고유한 숫자 집합이어야 한다는 점을 감안할 때 n이 되는 m개의 숫자 조합을 모두 찾아야 합니다.

예를 들어 - 입력이 -

인 경우
const m = 3, n = 4;

그러면 출력은 다음과 같아야 합니다. -

const output = [
   [1, 2, 4]
];

입력이 -

인 경우
const m = 3, n = 9;

그러면 출력은 다음과 같아야 합니다. -

const output = [
   [1, 2, 6],
   [1, 3, 5],
];

예시

이에 대한 코드는 -

const m = 3, n = 9;
const findSum = (m, n) => {
   const search = (from, prefix, m, n) => {
      if (m === 0 && n === 0) return res.push(prefix);
      if (from > 9) return;
      search(from + 1, prefix.concat(from), m − 1, n − from);
      search(from + 1, prefix, m, n);
   };
   const res = [];
   search(1, [], m, n);
   return res;
};
console.log(findSum(m, n));

출력

콘솔의 출력은 -

[ [ 1, 2, 6 ], [ 1, 3, 5 ], [ 2, 3, 4 ] ]