알고리즘 기계 시험 시 뮬 레이 션 문제 part 1
정의 슈퍼 와 함수 F 는 다음 과 같 습 니 다: F (0, n) = n, 모든 정수 n. F (k, n) = F (k – 1, 1) + F (k – 1, 2) +... + F (k – 1, n), 모든 정수 k 와 n. 아래 Solution 류 에서 F (k, n) 를 계산 하 는 함수 (1 < = k, n < = 14) 를 실현 하 십시오. class Solution {public: int F (int k, int n) {};예 1: F (1, 3) = 6 예 2: F (2, 3) = 10 예 3: F (10, 10) = 167960 주의: Solution 류 의 코드 만 제출 하면 됩 니 다. 로 컬 에서 main 함수 테스트 프로그램 을 작성 할 수 있 지만 main 함수 의 코드 를 제출 할 필요 가 없습니다. 클래스 와 함수 의 이름 을 수정 하지 않도록 주의 하 십시오.
class Solution {
public:
int F(int k,int n){
int value=0;
if(k==0)
return n;
else{
for(int i=1;i<=n;i++)
value+=F(k-1,i);
return value;
}
}
};
동적 계획 법
class Solution {
public:
int F(int k,int n){
vector<vector<int>> log(k+1,vector<int>(n+1));
for(int i=1;i<=n;i++)
log[0][i]=i;
for(int i=1;i<=k;i++)
for(int l=1;l<=n;l++){
log[i][l]=0;
for(int j=1;j<=l;j++)
log[i][l]+=log[i-1][j];
}
return log[k][n];
}
};
class Solution {
public:
int assignConferenceRoom(vector<int>& A, vector<int>& B) {
int num=0,k=0,isend=0;
sort(A.begin(),A.end());
sort(B.begin(),B.end());
for(int i=0;i0;
while(B[k]if(k>=B.size()){
isend=1;
break;
}
}
if(isend==0){
k++;
num++;
}
if(k>=B.size())
break;
}
return num;
}
};
큰 것 에서 작은 것 까지 의 방법: 두 배열 을 정렬 하고 최대 회의실 로 최대 수 요 를 만족 시 키 지 못 하면 다음 의 수 요 를 볼 수 있다.
class Solution {
public:
int assignConferenceRoom(vector<int>& A, vector<int>& B) {
sort(A.begin(),A.end());
sort(B.begin(),B.end());
int a=A.size()-1;
int b=B.size()-1;
int count=0;
while(a>=0&&b>=0){
if(B[b]else{
b--;
a--;
count++;
}
}
return count;
}
};
class Solution {
public:
bool isEqual(TreeNode* p, TreeNode* q) {
if(p==NULL &&q==NULL)
return 1;
else if(!p||!q)
return 0;
else{
if(p->val==q->val)
return isEqual(p->left,q->left)&& isEqual(p->right,q->right);
else
return 0;
}
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.