农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 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链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个能量值,这些能量值组成一个环形整数数组 energy。现在农场主想知道,从这群牛中选择一个连续的子群,使得这个子群的能量值之和最大。请你编写一个程序,实现这个功能。 环形数组意味着数组的末端将会与开头相连呈环状。形式上,energy[i] 的下一个元素是 energy[(i + 1) % n] ,energy[i] 的前一个元素是 energy[(i – 1 + n) % n]。 子群中每个位置的元素最多只能出现一次。