欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

careercup-数组和字符串1.7

发布时间:2024/1/17 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 careercup-数组和字符串1.7 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.7 编写一个算法,若M*N矩阵中某个元素为0,则将其所在的行与列清零。

类似于leetcode中的 Set Matrix Zeroes

 

C++实现代码:

#include<iostream> #include<vector> using namespace std;void setMatricZero(vector<vector<int> > &matrix) {if(matrix.empty()||matrix[0].empty())return;int i,j;int m=matrix.size();int n=matrix[0].size();int rflag=0;int cflag=0;for(i=0; i<m; i++)if(matrix[i][0]==0)rflag=1;for(j=0; j<n; j++)if(matrix[0][j]==0)cflag=1;for(i=1; i<m; i++)for(j=1; j<n; j++)if(matrix[i][j]==0){matrix[i][0]=0;matrix[0][j]=0;}for(i=1; i<m; i++)for(j=1; j<n; j++){if(matrix[i][0]==0||matrix[0][j]==0)matrix[i][j]=0;}if(rflag){for(i=0; i<m; i++)matrix[i][0]=0;}if(cflag){for(j=0; j<n; j++)matrix[0][j]=0;} }int main() {vector<vector<int> > matrix={{0,12,13,14},{15,16,17,18},{19,0,21,22},{23,24,25,26}};setMatricZero(matrix);for(auto a:matrix){for(auto t:a)cout<<t<<" ";cout<<endl;} }

 

转载于:https://www.cnblogs.com/wuchanming/p/4140955.html

总结

以上是生活随笔为你收集整理的careercup-数组和字符串1.7的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。