清除行列 牛客网 程序员面试金典 C++ Python

  • 题目描述

  • 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。

  • 给定一个N阶方阵int[]mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector>),保证n小于等于300,矩阵中的元素为int范围内。

  • 测试样例:

  • [[1,2,3],[0,1,2],[0,0,1]]

  • 返回:[[0,0,3],[0,0,0],[0,0,0]]

C++

class Clearer {
public://run:33ms memory:864kvector<vector<int> > clearZero(vector<vector<int> > mat, int n) {vector<int> tmp;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)if (mat[i][j] == 0) tmp.push_back(i * n + j);for (unsigned i = 0; i < tmp.size(); i++){int row = tmp[i] / n;int col = tmp[i] % n;for (int k = 0; k < n; k++){mat[row][k] = 0;mat[k][col] = 0;}}return mat;}
};

Python

class Clearer:#run:1965ms memory:5696k def clearZero(self, mat, n):tmp = []for i in range(n):for j in range(n):if mat[i][j] == 0: tmp.append(i*n+j)for i in range(len(tmp)):row = tmp[i] / ncol = tmp[i] % nfor k in range(n):mat[row][k] = 0mat[k][col] = 0return mat

清除行列 牛客网 程序员面试金典 C++ Python相关推荐

  1. 原串反转 牛客网 程序员面试金典 C++ Python

    原串反转 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量). 给定一个string iniS ...

  2. 空格替换 牛客网 程序员面试金典 C++ Python

    空格替换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个方法,将字符串中的空格全部替换为"%20".假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实 ...

  3. 集合栈 牛客网 程序员面试金典 C++ Python

    集合栈 牛客网 程序员面试金典 C++ Python 题目描述 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通 ...

  4. 回文链表 牛客网 程序员面试金典 C++ Python

    回文链表 牛客网 程序员面试金典  C++ Python 题目描述 请编写一个函数,检查链表是否为回文. 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文. 测试样例 ...

  5. 双栈排序 牛客网 程序员面试金典 C++ Python

    双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ...

  6. 整数转化 牛客网 程序员面试金典 C++ Python

    整数转化 牛客网 程序员面试金典 C++ Python 题目描述 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B. 给定两个整数int A,int B.请返回需要改变的数位个数. 测试样例 ...

  7. 确定字符互异 牛客网 程序员面试金典 C++ Python

    确定字符互异 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniStri ...

  8. 无缓存交换 牛客网 程序员面试金典 C++ Python

    无缓存交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值. 给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回 ...

  9. 平衡二叉树检查 牛客网 程序员面试金典 C++ Python

    平衡二叉树检查 牛客网 程序员面试金典 C++ Python 题目描述 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针T ...

最新文章

  1. UIActivityViewController使用
  2. NFS 网络文件系统
  3. 实战struts2——用户登录
  4. JS实现md5.js、md4.js、sha1.js 加密算法使用
  5. SQL注入1-5_cookie基于base64的注入
  6. numpy中的clip函數的用法
  7. python怎么输出一个数组_python中实现将多个print输出合成一个数组
  8. SpringBoot-核心功能
  9. scala编程第18章学习笔记——有状态的对象
  10. tomcat 后台 getshell
  11. 英语语音识别_英语 语音识别_英语语音识别软件 - 云+社区 - 腾讯云
  12. 转载:如果你到了20岁,还没到 25岁 作者:李开复
  13. 进程管理之工作管理详解(job control)
  14. android登录功能实现代码,功能强大的登录界面Android实现代码
  15. [附源码]Java计算机毕业设计SSM常见病辅助食疗系统
  16. 小明的爷爷108岁了,而我30岁才开始学编程
  17. Python运行出现“No module named ‘requests‘”
  18. landesk桌面管理
  19. 计算机应用基础第三版175页答案,计算机应用基础试题(附答案).doc
  20. chocolatey 在国内使用

热门文章

  1. 基于百度地图的交通查询的毕业设计(android)
  2. 爱奇艺小程序陪你嗨一夏 1
  3. java获取表格的题注_【转】Word之表格、图片的题注(抬头)自动编号
  4. Ubuntu 20.04 安装运行 uuv_simulator
  5. 人体穴位图--脚底部反射区图
  6. 聊聊前几天刚开通的微信视频号
  7. python、pycharm、anaconda区别
  8. Python分割训练集和测试集
  9. 太吾绘卷那么牛,不如手机玩玩中国风手游爱莲说
  10. 02 2018美团机器学习职位秋季校招笔试题及解答