給你乙個大小為 rows x cols 的矩陣 grid 。最初,你位於左上角 (0, 0) ,每一步,你可以在矩陣中 向右 或 向下 移動。
在從左上角 (0, 0) 開始到右下角 (rows - 1, cols - 1) 結束的所有路徑中,找出具有 最大非負積 的路徑。路徑的積是沿路徑訪問的單元格中所有整數的乘積。
返回 最大非負積 對 109 + 7 取餘 的結果。如果最大積為負數,則返回 -1 。
注意,取餘是在得到最大積之後執行的。
示例 1:
輸入:grid = [[-1,-2,-3],
[-2,-3,-3],
[-3,-3,-2]]
輸出:-1
解釋:從 (0, 0) 到 (2, 2) 的路徑中無法得到非負積,所以返回 -1
示例 2:
輸入:grid = [[1,-2,1],
[1,-2,1],
[3,-4,1]]
輸出:8
解釋:最大非負積對應的路徑已經用粗體標出 (1 * 1 * -2 * -4 * 1 = 8)
示例 3:
輸入:grid = [[1, 3],
[0,-4]]
輸出:0
解釋:最大非負積對應的路徑已經用粗體標出 (1 * 0 * -4 = 0)
示例 4:
輸入:grid = [[ 1, 4,4,0],
[-2, 0,0,1],
[ 1,-1,1,1]]
輸出:2
解釋:最大非負積對應的路徑已經用粗體標出 (1 * -2 * 1 * -1 * 1 * 1 = 2)
1 <= rows, cols <= 15
-4 <= grid[i][j] <= 4
通過次數2,352提交次數8,335
class solution
for(int j = 1; j < cols; j++)
for(int i = 1; i < rows; i++)else if(tmp > 0)}}
int mod = 1e9 + 7;
return (mulmax[rows-1][cols-1] >= 0)?mulmax[rows-1][cols-1] % mod:-1;
}};
LeetCode1594 矩陣的最大非負積
給你乙個大小為 rows x cols 的矩陣 grid 最初,你位於左上角 0,0 每一步,你可以在矩陣中 向右 或 向下 移動。在從左上角 0,0 開始到右下角 rows 1,cols 1 結束的所有路徑中,找出具有 最大非負積 的路徑。路徑的積是沿路徑訪問的單元格中所有整數的乘積。返回 最大非...
lintcode 1594 公平的糖果交換
愛麗絲和鮑勃有不同大小的糖果棒 a i 是愛麗絲擁有的第 i 塊糖的大小,b j 是鮑勃擁有的第 j 塊糖的大小。因為他們是朋友,所以他們想交換乙個糖果棒,這樣交換後,他們都有相同的糖果總量。乙個人擁有的糖果總量是他們擁有的糖果棒大小的總和。返回乙個整數陣列 ans,其中 ans 0 是愛麗絲必須交...
螺旋矩陣 leetcode
螺旋矩陣 給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,...