import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param fruit int整型一维数组 * @return int整型 */ public int mostFruitTree (int[] fruit) { // write code here int init = 10; int max_value = 10; for (int i = 0; i < fruit.length; i++) { int cur = init + fruit[i]; max_value = Math.max(max_value, cur); init = cur; } return max_value; } }
本题我相信难点是对于题目的理解,所用编程语言是java。
对于[-4,-3,-2,-1,4,3,2]示例理解,假设果树0的水果数仍然是10,那么这只小猪每天采摘水果的过程如下:
第一天,它从果树0开始采摘,采摘了10个水果。
第二天,它从果树1开始采摘,采摘了10-4=6个水果。
第三天,它从果树2开始采摘,采摘了6-3=3个水果。
第四天,它从果树3开始采摘,采摘了3-2=1个水果。
第五天,它从果树4开始采摘,采摘了1-1=0个水果。
第六天,它从果树5开始采摘,采摘了0+4=4个水果。
第七天,它从果树6开始采摘,采摘了4+3=7个水果。
第八天,它从果树7开始采摘,采摘了7+2=9个水果。
所以这只小猪在果树0上能采摘到最多的水果,共10个