华为OD机试107-跳格子游戏

原始题目链接可以参考如下链接 某厂机试算法刷题一览_@_南先森的博客-CSDN博客
在阅读代码时,建议拷贝到idea或者eclipse里面看,为了便于理解代码,注释比较多,
在阅读代码时,可以先删掉注释
这个题目需要用到栈做广度优先搜索,解题主要有以下几个要点
1:要找到没有依赖关系的数字作为起始数字,从起始数字出发
像多米诺骨牌一样往后面的数字传递,依次解锁后面数字
2:使用Map<Integer, List<Integer>>数据结构来记录
数字之间的依赖关系,value依赖key
3:需要用到Stack,可以解锁的数字入栈,用出栈来模拟解锁过程

public class Demo107 {
    //测试代码
    public static void main(String[] args) {
        int n = 6;
        int[][] grids = {
  {0, 1}, {0, 2}, {0, 3}, {0, 4}, {0, 5}};
        boolean r = skipGrid(n, grids);
        System.out.println(r);
    }

    /*
     * n代表总共几个数字
     * grids存放每一行的两个数字
     * 举个例子,如果用户输入下面的数据
     * 2
     * 1 0
     * 0 1
     * 那么n = 2  grids = {
  {1,0},{0,1}}
     *
     */
    public static bool
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值