Leetcode 216. 조합 총 III
1359 단어 Leetcode
설명:
예 1:
: k = 3, n = 7
: [[1,2,4]]
예 2:
: k = 3, n = 9
: [[1,2,6], [1,3,5], [2,3,4]]
기본적인 사고방식: 이렇게 모든 출력 가능한 상황을 직접 귀속시키고 싶지 않다.
어떻게 해야만 귀속할 수 있습니까?간단하다. 한 수에 대해 두 가지 선택을 하려면 두 가지 방식으로 귀속시키면 된다.
class Solution {
public:
vector> Res;
vector> combinationSum3(int k, int n) {
int N = n / k;
vector Temp;
_combinationSum3(k, n, Temp, 1);
return Res;
}
/*** k n ,Now_P , 1 ,2,3,4,…… */
void _combinationSum3(int k, int n, vector Temp, int Now_P) {
int Sum = 0;
for (int n : Temp) Sum += n;
/** if , **/
if (Temp.size() == k - 1 && Sum + Now_P == n) {
Temp.push_back(Now_P);
Res.push_back(Temp);
return;
}
/** if , **/
else {
if (Sum + Now_P>n || Now_P>n|| Now_P>=9)
return;
_combinationSum3(k, n, Temp, Now_P + 1); //
Temp.push_back(Now_P);
_combinationSum3(k, n, Temp, Now_P + 1); //
}
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LeetCode 문제풀이 노트 113.경로 총 II경로 총 II 제목 요구 사항 문제풀이 두 갈래 나무와 목표와 뿌리 노드에서 잎 노드까지의 모든 경로를 찾는 것은 목표와 같은 경로입니다. 설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다. 예: 다음과 같은 두 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.