0
配列内の隣接していない要素の最大合計を求めるアルゴリズムを考え出しましたが、合計のために選んだ。ここでは(いくつかの初期化なし)最大合計のための私のアルゴリズムは次のとおりです。配列内の隣接していない数の最大和に対して選択された数のインデックスを見つける方法
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];
私たちが選択した数字のindiceを取得することはそれほど明白ではありません。誰かが私にこの洞察を与えてくれますか?ありがとう!
私はスタックオーバーフローコミュニティの新しいユーザーです。私の質問がはっきりしない場合は、ここでコメントしてください。ヒントや提案は大歓迎です。 – Andyzz