您现在的位置是:主页 > news > 给个网站急急急2021/竞价推广返点开户
给个网站急急急2021/竞价推广返点开户
admin2025/6/23 6:53:22【news】
简介给个网站急急急2021,竞价推广返点开户,网站漏洞以及找后台入口 等功能.,沈阳网站建设黑酷科技题目描述 给定一个m*n的矩阵,如果有一个元素是0,就把该元素所在的行和列上的元素全置为0,要求使用原地算法。 拓展: 在常量级的空间复杂度内解决这个问题吗? 思路: 将第一行 第一列看作X Y轴 考察剩余的…
给个网站急急急2021,竞价推广返点开户,网站漏洞以及找后台入口 等功能.,沈阳网站建设黑酷科技题目描述
给定一个m*n的矩阵,如果有一个元素是0,就把该元素所在的行和列上的元素全置为0,要求使用原地算法。
拓展:
在常量级的空间复杂度内解决这个问题吗? 思路: 将第一行 第一列看作X Y轴
考察剩余的…
题目描述
给定一个m*n的矩阵,如果有一个元素是0,就把该元素所在的行和列上的元素全置为0,要求使用原地算法。
拓展:
在常量级的空间复杂度内解决这个问题吗?
思路:
将第一行 第一列看作X Y轴
考察剩余的元素 若为0 那么在X Y轴标记下来(对应位置 设为0)
注意点:第一行 第一列 需要事先判断是否包含0 若包含 最后设定为零
void setZeroes(vector<vector<int> > &matrix) {int h=matrix.size();//矩阵高度if(h==0)return;int w=matrix[0].size();//矩阵宽度if(w==0)return;//思路很简单 把第一行 第一列 看成映射坐标轴 X y轴//遍历 剩余的子矩阵,一旦遇到0元素 那么将其在坐标轴上的坐标记录下(即标记对应 x y位置为0)//第一次遍历 将对应的行 列 全部置为0//注意点 第一行 第一列 先单独判断 即一旦有0 那么该列 该行 最后全部置为0bool flag1=false; //第一列是否包含0for(int i=0;i<h;i++)if(matrix[i][0]==0)flag1=true;bool flag2=false; //第一行是否包含0for(int i=0;i<w;i++)if(matrix[0][i]==0)flag2=true;for(int i=1;i<h;i++)for(int j=1;j<w;j++){if(matrix[i][j]==0){//在坐标轴上标记下位置matrix[i][0]=0;matrix[0][j]=0;}}for(int i=1;i<h;i++) //遍历第一列 相当于Y轴{if(matrix[i][0]==0) //这一行需要全部置为0{for(int j=0;j<w;j++)matrix[i][j]=0;}}for(int i=1;i<w;i++) //遍历第一列 相当于Y轴{if(matrix[0][i]==0) //这一行需要全部置为0{for(int j=0;j<h;j++)matrix[j][i]=0;}}//最后处理第一行 第一列if(flag1){for(int j=0;j<h;j++)matrix[j][0]=0;}if(flag2){for(int j=0;j<w;j++)matrix[0][j]=0;}}