【LeetCode每日一题】2684. 矩阵中移动的最大次数


2684. 矩阵中移动的最大次数

在这里插入图片描述

在这里插入图片描述

思虑:

1.将第一列的所有行坐标,用IntStream 来生成一个范围 [0, m) 内的整数流,用boxed方法进行装箱,并收集到Set集合中

2.从第一列开始,逐列进行遍历。

3.每一列,将集合中的所有行坐标取出,对每一个行坐标x,找出下一列可能满足的行坐标x,并且下一步要大

4.将符合的行坐标加入集合t,如果不能移动,返回当前列数

5.否则将t赋值給q,继续下一次的遍历

6.最后如果都遍历完了,说明走到最后一列,返回n-1

代码:
    public int maxMoves(int[][] grid) {
        int m = grid.length;
        int n = grid[0].length;
        Set<Integer> q = IntStream.range(0, m).boxed().collect(Collectors.toSet());
        //使用 Java 8 中的 IntStream 来生成一个范围在
        // [0, m) 内的整数流,然后通过 boxed() 方法将 IntStream 装箱为
        // Stream<Integer>,最后通过collect(Collectors.toSet()) 方法
        // 将整数流中的元素收集到一个 Set 集合中。
        for (int j = 0; j < n - 1; j++) {
            Set<Integer> t = new HashSet<>();
            for (int x : q) {
                for (int i = x - 1; i <= x + 1; i++) {
                    if (i >= 0 && i < m && grid[x][j] < grid[i][j]) {
                        t.add(i);
                    }
                }
            }
            if (t.isEmpty()){
                return j;
            }
            q = t;
        }
        return n-1;
        //最后如果都遍历完了,说明走到最后一列,返回n-1
    }

点击移步博客主页,欢迎光临~

偷cyk的图

相关推荐

  1. leetcode2684--矩阵移动次数

    2024-03-18 10:46:03       44 阅读
  2. 2684. 矩阵移动次数

    2024-03-18 10:46:03       46 阅读
  3. 2024.3.16力扣每日——矩阵移动次数

    2024-03-18 10:46:03       46 阅读
  4. 网格bfs,LeetCode 2684. 矩阵移动次数

    2024-03-18 10:46:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 10:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 10:46:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 10:46:03       82 阅读
  4. Python语言-面向对象

    2024-03-18 10:46:03       91 阅读

热门阅读

  1. python中pyinstaller打包带资源的程序-pgzreo

    2024-03-18 10:46:03       43 阅读
  2. 阻塞和异步

    2024-03-18 10:46:03       42 阅读
  3. 使用verilog实现井字棋游戏设计及其testbench

    2024-03-18 10:46:03       42 阅读
  4. VSCODE的常用插件

    2024-03-18 10:46:03       40 阅读
  5. js基础语法大全(时间戳,uuid,字符串转json)

    2024-03-18 10:46:03       43 阅读
  6. 【无标题】

    2024-03-18 10:46:03       39 阅读
  7. Linux 16个常用脚本(初级)练习

    2024-03-18 10:46:03       38 阅读