algorithm-problem-leetcode-1594
1594. 矩阵的最大非负积(1807)
给你一个大小为 m x n 的矩阵 grid 。最初,你位于左上角 (0, 0) ,每一步,你可以在矩阵中 向右 或 向下 移动。
在从左上角 (0, 0) 开始到右下角 (m - 1, n - 1) 结束的所有路径中,找出具有 最大非负积 的路径。路径的积是沿路径访问的单元格中所有整数的乘积。
返回 最大非负积 对 10^9 + 7 取余 的结果。如果最大积为 负数 ,则返回 -1 。
**注意,**取余是在得到最大积之后执行的。
示例 1:
123输入:grid = [[-1,-2,-3],[-2,-3,-3],[-3,-3,-2]]输出:-1解释:从 (0, 0) 到 (2, 2) 的路径中无法得到非负积,所以返回 -1 。
示例 2:
123输入:grid = [[1,-2,1],[1,-2,1],[3,-4,1]]输出:8解释:最大非负积对应的路径如图所示 (1 * 1 * -2 * -4 * 1 = 8)
示例 3:
123输入:grid = [[1,3],[0,-4]]输出:0解释:最大非负积对应的路径如图所示 (1 * 0 ...
algorithm-problem-leetcode-62
62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
示例 1:
12输入:m = 3, n = 7输出:28
示例 2:
1234567输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向右 -> 向下
示例 3:
12输入:m = 7, n = 3输出:28
示例 4:
12输入:m = 3, n = 3输出:6
提示:
1 <= m, n <= 100
题目数据保证答案小于等于 2 * 10^9
123456789101112class Solution { public int uniquePaths(int m, int n) { int f[][] = new int[m ...