华为OD 跳格子2(200分)【java】B卷

华为OD统一考试A卷+B卷 新题库说明
你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。
B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。
我将持续更新最新题目

获取更多免费题目可前往夸克网盘下载,请点击此链接进入:

题目描述:

跳格子2

小明和朋友玩跳格子游戏, 有 n个连续格子组成的圆圈,每个格子有不同的分数,小朋友可以选择从任意格子起跳,但是不能跳连续的格子,不能回头跳,也不能超过一圈 ;

给定一个代表每个格子得分的非负整数数组,计算能够得到的最高分数。

输入描述: 给定一个数例,第一个格子和最后一个格子收尾相连,如:2 3 2

输出描述: 输出能够得到的最高分,如:3

补充说明: 1 <= nums.length <= 100 0 <= nums[i] <= 1000

示例1

输入: 2 3 2

输出: 3

说明: 只能跳3这个格子,因为第一个格子和第三个格子收尾相连

示例2

输入: 1 2 3 1

输出: 4

说明: 1+3=4

java解法:

java 复制代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[100];
        int n = 0;
        while(sc.hasNextInt()) {
            a[n++] = sc.nextInt();
        }
        int[] dp = new int[n];
        int ans = 0;
        for(int i = 0; i < n- 1; i++) {
            if(i >= 2) {
                dp[i] = Math.max(dp[i- 1], dp[i - 2] + a[i]);
            } else {
                dp[i] = a[i];
                if(i > 0) dp[i] = Math.max(dp[i], dp[i-1]);
            }
            if(dp[i] > ans) {
                ans = dp[i];
            }
        }
        int[] f = new int[n];
        for(int i = 1; i < n; i++) {
            if(i >= 2) {
                f[i] = Math.max(f[i- 1], f[i - 2] + a[i]);
            } else {
                f[i] = a[i];
                if(i > 0) f[i] = Math.max(f[i], f[i-1]);
            }
            if(f[i] > ans) {
                ans = f[i];
            }
        }
        System.out.println(ans);
    }
}
相关推荐
a程序小傲9 分钟前
国家电网面试被问:FactoryBean与BeanFactory的区别和动态代理生成
java·linux·服务器·spring boot·spring·面试·职场和发展
mjhcsp13 分钟前
透彻背包DP:从DFS暴力搜索到动态规划的逐步推导
算法·深度优先·动态规划
电商API&Tina14 分钟前
Python请求淘宝商品评论API接口全指南||taobao评论API
java·开发语言·数据库·python·json·php
若鱼191915 分钟前
SpringBoot4.0新特性-Resilience之失败重试
java·spring
学嵌入式的小杨同学16 分钟前
【嵌入式 C 语言实战】交互式栈管理系统:从功能实现到用户交互全解析
c语言·开发语言·arm开发·数据结构·c++·算法·链表
摩西蒙19 分钟前
业务监控和常用产品
java·大数据·人工智能
哪里不会点哪里.19 分钟前
Spring 核心原理解析:它到底解决了什么问题?
java·后端·spring
多米Domi01119 分钟前
0x3f 第40天 setnx的分布式锁和redission,写了一天项目书,光背了会儿八股,回溯(单词搜索)
数据结构·算法·leetcode
乐迪信息20 分钟前
乐迪信息解决港口船型识别难题!AI算法盒子检测船舶类型
人工智能·算法·智能电视
梭七y36 分钟前
【力扣hot100题】(151)课程表
算法·leetcode·哈希算法