日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Set Matrix Zeroes

發(fā)布時(shí)間:2025/4/16 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Set Matrix Zeroes 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Set Matrix Zeroes

Given a?m?x?n?matrix, if an element is 0, set its entire row and column to 0. Do it in place.

思路:

如果允許額外存儲(chǔ)行和列清零的信息,那么題目就沒(méi)有意思了。希望只用O(1)的存儲(chǔ)空間的時(shí)候,我們就得利用矩陣本身的存儲(chǔ)空間了:把清零的信息保存在第一行和第一列里。


#include<iostream> #include<vector> using namespace std; int main() {vector<vector<int>> m = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };int row = m.size();int col = m[0].size();bool frow = false;bool fcol = false;for (int i = 0; i < col; i++){if (m[0][i] == 0)frow = true;}for (int i = 0; i < row; i++){if (m[i][0] == 0)fcol = true;}//對(duì)于矩陣中的其他元素,標(biāo)志所在的行和列進(jìn)行標(biāo)注為0 這是在第一行的元素上進(jìn)行的for (int i = 1; i < row; i++){for (int j = 1; j < col; j++){if (m[i][j] == 0){m[i][0] = 0;m[0][j] = 0;}}}//現(xiàn)在對(duì)第一行中標(biāo)注為0的行進(jìn)行全部為0/*for (int i = 1; i < row; i++){if (m[i][0]==0)for (int j = 1; j < col; j++)m[i][j] == 0;}for (int i = 1; i < col; i++){if (m[0][i] == 0)for (int j = 1; j < row; j++)m[j][i] == 0;}*/for (int i = 0; i < row; i++){for (int j = 0; j < col; j++){if (m[i][0] == 0 || m[0][j] == 0)m[i][j] == 0;}}//判斷第一行元素if (frow==true)for (int i = 0; i < col; i++)m[0][i] == 0;if (fcol == true){for (int i = 0; i < row; i++)m[i][0] == true;} }

總結(jié)

以上是生活随笔為你收集整理的Set Matrix Zeroes的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。