0
배열의 인접하지 않은 요소의 최대 합계를 찾는 알고리즘을 생각해 냈지만 어떤 숫자가 있는지 찾는 데 어려움이 있습니다. 합계를 위해 골랐다. 나 우리가 선택하는 숫자의 indice을 얻을 수 있도록배열의 인접하지 않은 숫자의 최대 합계에 대해 선택된 숫자의 인덱스를 찾는 방법
int n; //number of cells. Cells are labeled from 1 to n
int num[]; // all the numbers
int findMax[]; // findMax[i] equals to the current maximum score
for (int i = 0; i<n; i++){
if (i == 0){
findMax[0] = num[0];
}
else if (i == 1){
findMax[1]= Math.max(findMax[0],num[1]);
}
else{
findMax[i]=Math.max(findMax[i-2]+num[i], findMax[i-1]);
}
return findMax[n];
그것은 너무 명확하지 않다 : 여기에 (일부 초기화없이) 최대 금액 내 알고리즘이다. 누군가 제발이 점에 대해 통찰력을 줄 수 있습니까? 감사!
저는 스택 오버플로 커뮤니티의 새로운 사용자입니다. 내 질문에 명확하지 않은 경우 여기에 의견을 남기십시오. 모든 힌트 또는 제안을 환영합니다. – Andyzz