小编Jay*_*C S的帖子

要打印的数组中非相邻元素的最大和

有一个整数数组{1,2,3,-1,-3,2,5},我的工作是打印导致子数组最大和的元素,所获得的和是通过将非相邻元素相加而得出的在数组中。

我使用动态编程编写了给出最大和的代码。但无法打印元素。

public static int maxSum(int arr[]) 
{       
    int excl = 0;
    int incl = arr[0];
    for (int i = 1; i < arr.length; i++) 
    {
        int temp = incl;
        incl = Math.max(Math.max(excl + arr[i], arr[i]), incl);
        excl = temp;
    }
    return incl;
}
Run Code Online (Sandbox Code Playgroud)

例子 :

  • {1,2,3,-1,-3,2,5}应该返回,{1,3,5}因为最大和为9
  • {4,5,4,3} 有两个 {4,4}{5,3},对两个数组进行排序{4,4}{3,5}由于3 <4,所以我们打印{3,5}。(包含第一个最小元素的数组)。

java algorithm dynamic-programming

3
推荐指数
2
解决办法
1494
查看次数

标签 统计

algorithm ×1

dynamic-programming ×1

java ×1