题解 | #袋鼠过河#

袋鼠过河

https://www.nowcoder.com/practice/74acf832651e45bd9e059c59bc6e1cbf

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {


    static List<Integer> resu = new ArrayList<>();
    static int[][] used;

    // 贪心算法 每次跳动最大值
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] step = new int[n];
        for (int i = 0; i < n; i++) {
            step[i] = in.nextInt();
        }
        used = new int[n][n];
        startDri(step, 0, 0);
        if (resu.size() > 0) {
            Collections.sort(resu);
            System.out.println(resu.get(0));
        }else
        System.out.println(-1);

    }

    private static void startDri(int[] step, int index, int count) {

        if (used[index][count] == 1) {
            return;
        }
        used[index][count] = 1;
        if (index + step[index] > step.length - 1) {
            resu.add(count + 1);
            return;
        }
        if (step[index] == 0) {
            return;
        }
        int maxLength = index + step[index];

        for (int i = index + 1; i < step.length && i <= maxLength; i++) {
            startDri(step, i, count + 1);
        }

    }
}

全部评论

相关推荐

06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
缓解焦虑的最好方法是回家。鼠鼠昨天上午考完了本科阶段的最后一场考试,大概率考得稀烂,但是没多想,考完立马收拾行李,坐上了提前约好的顺风车飞奔回家。虽然家和学校很近,只有一百多公里的路程,但距离上次回家也已经有三四个月了。每次想回家,期间总有考试、毕业设计、面试、实习等等各种各样的原因,没办法回去,待在学校和公司的每一天也都充斥着无形的压力和焦虑。现在终于完成了答辩,考完了试,公司那边也请了假,是时候回去一趟了。没有提前通知爸妈,想给他们一个惊喜。下午提前到了家,他俩还在上班,只好让外公外婆来给我开门。因为我的回家,晚上外婆在厨房格外忙碌,做了满满一大桌子菜,填饱了我天天吃外卖的肚子。晚上也没空...
梦想是成为七海千秋:取决于家庭吧?其实回家更焦虑了,每天起床父母都问实习找好了没简历投递了没今天有没有面试,但是又没有什么结果,玩两下手机父母就会说你看你啥也没找到为什么天天就知道刷手机,怎么不去学习…我现在就希望我能永远在外面实习,报喜不报忧,等拿到一个好offer再回家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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