华为OD机试真题 - 贪吃的猴子

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = Integer.parseInt(in.nextLine());
        int[] nums = Arrays.stream(in.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        int times = Integer.parseInt(in.nextLine());
        System.out.println(getResult(nums, times));
    }

    public static int getResult(int[] nums, int times) {
        int[] left = new int[nums.length];
        int[] right = new int[nums.length];
        int leftSum = 0;
        int rightSum = 0;
        for (int i = 0; i < nums.length; i++) {
            leftSum += nums[i];
            left[i] = leftSum;
            rightSum += nums[nums.length - 1 - i];
            right[i] = rightSum;
        }
        int ans = 0;
        for (int i = -1, j = times - 1; i < times; i++,j--) {
            int l = 0;
            int r = 0;
            if (i >= 0)
                l = left[i];
            if (j >= 0)
                r = right[j];
            ans = Math.max(ans, r + l);
        }
        return ans;
    }
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务