首页 > 其他分享 >矩阵中移动的最大次数.18076762

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

时间:2024-03-16 10:23:59浏览次数:24  
标签:int 单元格 矩阵 18076762 次数 grid col row

矩阵中移动的最大次数

给你一个下标从 0 开始、大小为 m x n 的矩阵 grid ,矩阵由若干 正 整数组成。

你可以从矩阵第一列中的 任一 单元格出发,按以下方式遍历 grid :

从单元格 (row, col) 可以移动到 (row - 1, col + 1)、(row, col + 1) 和 (row + 1, col + 1) 三个单元格中任一满足值 严格 大于当前单元格的单元格。
返回你在矩阵中能够 移动 的 最大 次数。

 

示例 1:


输入:grid = [[2,4,3,5],[5,4,9,3],[3,4,2,11],[10,9,13,15]]
输出:3
解释:可以从单元格 (0, 0) 开始并且按下面的路径移动:
- (0, 0) -> (0, 1).
- (0, 1) -> (1, 2).
- (1, 2) -> (2, 3).
可以证明这是能够移动的最大次数。
示例 2:


输入:grid = [[3,2,4],[2,1,9],[1,1,7]]
输出:0
解释:从第一列的任一单元格开始都无法移动。

解决重复路径问题,考虑到都为正整数,以及遍历的值可以置0

class Solution {
public:
    int res=0;
    int dx[3]={-1,0,1};
    int dy[3]={1,1,1};

    void dfs(vector<vector<int>>&grid,int cnt,int row,int col){
        int m=grid.size();
        int n=grid[0].size();
        res=max(res,cnt);
        if(row<0||row>=m||col<0||col>=n)    return;
        for(int i=0;i<3;i++){
            int tx=row+dx[i];
            int ty=col+dy[i];
            if(tx>=0&&tx<m&&ty>=0&&ty<n&&grid[tx][ty]>grid[row][col]){
                dfs(grid,cnt+1,tx,ty);
                grid[tx][ty]=0;
                //cout<<grid[row][col]<<" "<<grid[tx][ty]<<endl;
            }
        }
        return;
    }

    int maxMoves(vector<vector<int>>& grid) {
        for(int i=0;i<grid.size();i++){
            dfs(grid,0,i,0);
        }
        return res;
    }
};

标签:int,单元格,矩阵,18076762,次数,grid,col,row
From: https://www.cnblogs.com/SkyDusty/p/18076770

相关文章

  • JS代码——统计字符串中每个字符出现的次数
    要求:输入一个字符串,输出每个字符各自出现的次数一、代码区域二、效果截图注: 博主每天记录自己所学,如有写的不好之处,希望您能不吝赐教,给我一些关于这个项目的意见和建议。各位的宝贵意见将对我产生深远的影响,我将认真倾听并尽力改进。谢谢各位~~......
  • cuda 加速矩阵乘法
    对于一个m*n的矩阵a和一个n*k的矩阵b因为最后得到一个m*k的矩阵c,那么我们可以分配m*k个线程。在线程(i,j)里矩阵a的第i行和矩阵b的第j列进行点积运算得到c[i][j]#include<iostream>#include"cuda_runtime.h"#include"device_launch_parameters.h"#defineBLOCK_......
  • 关于矩阵的相关运算
    定义肥肠的简单即将矩阵作为一个整体进行加减乘(包括快速幂)等的运算操作对,没有除至于为什么我不会告诉你是因为huge没有讲的不过对于除法我们可以通过增广原除数矩阵再进行高斯消元balabala的操作求得除数矩阵的逆矩阵再将被除数矩阵乘上除数矩阵的逆矩阵得到ans矩阵我们......
  • C#实现图的邻接矩阵和邻接表结构
    原文链接:https://blog.csdn.net/weixin_41883890/article/details/125517599本文介绍C#实现图的邻接矩阵和邻接表结构。逻辑结构分为两部分:V和E集合,其中,V是顶点,E是边。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵......
  • LeetCodeHot100 73. 矩阵置零 54. 螺旋矩阵 48. 旋转图像 240. 搜索二维矩阵 II
    73.矩阵置零https://leetcode.cn/problems/set-matrix-zeroes/description/?envType=study-plan-v2&envId=top-100-likedpublicvoidsetZeroes(int[][]matrix){inttop=0,bottom=matrix.length,left=0,right=matrix[0].length;int[][]flag......
  • [SCOI 2009] 迷路 (矩阵快速幂)
    [SCOI2009]迷路传送门问题描述Windy在有向图中迷路了。该有向图有\({N}\)个节点,Windy从节点\({1}\)出发,他必须恰好在\({T}\)时刻到达节点\({N}\)。现在给出该有向图,你能告诉Windy总共有多少种不同的路径吗?注意:Windy不能在某个节点逗留,且通过某有向边的时间严格......
  • 矩阵快速幂
    矩阵快速幂例题6.方程【算法赛】-蓝桥云课P1962斐波那契数列-洛谷P2455SDOI2006-洛谷P7112【模板】行列式求值-洛谷P1939矩阵加速(数列)-洛谷我们线代课已经讲到矩阵了,自己也终于把之前卡了好久的矩阵快速幂的题过了ヾ(≧▽≦*)o补充知识矩阵与矩阵乘......
  • 罐头鱼AI视频矩阵系统介绍|视频矩阵获客
    智能化管理,轻松批量剪辑短视频!AI系统助力您的视频营销提效!    随着短视频营销的兴起,我们推出了一款AI批量剪辑短视频系统,让视频制作更加智能高效。以下是系统的主要功能特点:首页显示:清晰展示账号登录状态、可绑定账号数量、已绑定账号情况和最近上传的视频素材,让您......
  • 矩阵模板("+" "-" "*")
    structmat{ intn,m; inta[maxn][maxn]; voidzero() { memset(a,0,sizeof(a)); } voidone() { zero(); for(inti=1;i<=n;i++) { a[i][i]=i; } } voidresize(intx,inty) { n=x; m=y; } matoperator+(constmat&A)const { mat......
  • 独立按键与矩阵键盘
    独立按键轻触按键:相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通与断开。 独立按键在开发板内部的原理图如下:4个独立按键的右端都公共接地,左端引出四个编号,接单片机的I/O口上。当单片机上电时,所有I/O口默认都......