农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。

区块链毕设网qklbishe.com为您提供问题的解答

农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。

环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。

子群中每个位置的元素最多只能出现一次。

import java.util.*;   public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param energy int整型一维数组       * @return int整型      */     public int maxEnergyCircular (int[] energy) {         int n=energy.length;         int max=energy[0],sum=energy[0];         for(int i=1;i<n;i++){             sum+=energy[i];             if(sum<energy[i]) sum=energy[i];             if(sum>max) max=sum;         }         int i=0,j=n-1;         int stopi=0,stopj=0;         int left=0,right=0;         while(i<j){             if(i==stopi&&j==stopj) break;             if(left+energy[i]>left){                 left+=energy[i];                 i++;             }else{                 stopi=i;             }             if(right+energy[j]>right){                 right+=energy[j];                 j--;             }else{                 stopj=j;             }         }         if(i==0&&j==n-1) return max;         return Math.max(max,left+right);     } }

42:00

以上就是关于问题农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。