最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

動(dòng)態(tài)規(guī)劃,這次遇到障礙了| LeetCode:63. 不同路徑 II

2023-07-30 13:40 作者:緘默0603  | 我要投稿

在給定障礙物的二維數(shù)組中求解(不新建二維數(shù)組,leetcode:時(shí)間擊敗100%用戶,內(nèi)存擊敗95.57%用戶)

class Solution {

public:

? ? int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {

? ? ? ? int m = obstacleGrid.size(), n = obstacleGrid[0].size();

? ? ? ? // 對(duì)首列初始化:無障礙物:初始化為-1,最后返回結(jié)果取反即可。有障礙物:數(shù)值不變,但其后若有方格,全部初始化為0

? ? ? ? for (int i = 0; i < m; ++i) {

? ? ? ? ? ? if (obstacleGrid[i][0] == 1) {

? ? ? ? ? ? ? ? i++;

? ? ? ? ? ? ? ? while (i < m) obstacleGrid[i++][0] = 0;

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? obstacleGrid[i][0] = -1;

? ? ? ? }

? ? ? ? for (int i = 0; i < n; ++i) { ? ?// 同理,對(duì)首行初始化

? ? ? ? ? ? if (obstacleGrid[0][i] == 1) {

? ? ? ? ? ? ? ? i++;

? ? ? ? ? ? ? ? while (i < n) obstacleGrid[0][i++] = 0;

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? obstacleGrid[0][i] = -1;

? ? ? ? }

? ? ? ? for (int i = 1; i < m; ++i) { ? // 遍歷二維網(wǎng)格

? ? ? ? ? ? for (int j = 1; j < n; ++j) {

? ? ? ? ? ? ? ? if (obstacleGrid[i][j] == 1) continue; // 若方格是障礙物(即為1),則跳過

? ? ? ? ? ? ? ? if (obstacleGrid[i-1][j] == 1) // 若上方方格為障礙物,則到當(dāng)前方格的路徑數(shù) = 左方方格路徑數(shù)

? ? ? ? ? ? ? ? ? ? obstacleGrid[i][j] = obstacleGrid[i][j-1];

? ? ? ? ? ? ? ? else if (obstacleGrid[i][j-1] == 1) // 同理,左方障礙物,當(dāng)前 = 上方路徑數(shù)

? ? ? ? ? ? ? ? ? ? obstacleGrid[i][j] = obstacleGrid[i-1][j];

? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 左方,上方均無障礙物,則相加

? ? ? ? ? ? ? ? ? ? obstacleGrid[i][j] = obstacleGrid[i-1][j] + obstacleGrid[i][j-1];

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? if (obstacleGrid[m-1][n-1] == 1) return 0; // 若終點(diǎn)為障礙物,則返回0

? ? ? ? return -obstacleGrid[m-1][n-1]; // 取反即是答案

? ? }

};

動(dòng)態(tài)規(guī)劃,這次遇到障礙了| LeetCode:63. 不同路徑 II的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
滦平县| 龙海市| 武义县| 江西省| 临泉县| 三台县| 奉贤区| 陈巴尔虎旗| 自治县| 津南区| 赫章县| 比如县| 香格里拉县| 平谷区| 醴陵市| 虹口区| 耒阳市| 忻城县| 永德县| 小金县| 麟游县| 康保县| 龙口市| 资中县| 阜阳市| 辽中县| 偏关县| 龙泉市| 旬阳县| 定襄县| 兴化市| 怀远县| 浦北县| 南江县| 益阳市| 罗源县| 长汀县| 红原县| 铜梁县| 鸡东县| 怀化市|