首页 > 其他分享 >#yyds干货盘点# LeetCode面试题:矩阵置零

#yyds干货盘点# LeetCode面试题:矩阵置零

时间:2023-04-11 23:33:36浏览次数:26  
标签:yyds 面试题 matrix int col ++ boolean LeetCode row

1.简述:

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]

输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]

输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

2.代码实现:

class Solution {
    public void setZeroes(int[][] matrix) {
        int m = matrix.length, n = matrix[0].length;
        boolean[] row = new boolean[m];
        boolean[] col = new boolean[n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (matrix[i][j] == 0) {
                    row[i] = col[j] = true;
                }
            }
        }
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (row[i] || col[j]) {
                    matrix[i][j] = 0;
                }
            }
        }
    }
}

标签:yyds,面试题,matrix,int,col,++,boolean,LeetCode,row
From: https://blog.51cto.com/u_15488507/6183967

相关文章

  • 4月11日leetcode练习
    设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)将元素val推入堆栈。voidpop()删除堆栈顶部的元素。inttop()获取堆栈顶部的元素。intgetMin()获取堆栈中的最小元素。 来源:力扣(Le......
  • 锁屏面试题百日百刷-kafk篇(一)
    锁屏面试题百日百刷,每个工作日坚持更新面试题。请看到最后就能获取你想要的,接下来的是今日的面试题:1.请说明什么是ApacheKafka?ApacheKafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。2.请说明什么是传统的消息传递方法?传统的消息传递......
  • #yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查
    前言我是歌谣今天继续带来前后端项目的开发上次已经开发了部门管理,今天继续开发员工管理后端第一步empcontroller代码packagecom.itheima.controller;importcom.itheima.pojo.Emp;importcom.itheima.pojo.PageBean;importcom.itheima.pojo.Result;importcom.itheima.s......
  • #yyds干货盘点 前端小知识点扫盲笔记记录2
    前言大家好我是歌谣今天继续进行前端知识的一些总结想加入前端巅峰交流群私信我innerHTML和innerText的使用<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • 软件测试综合面试题
    项目中会对接第三方系统吗,哪些系统在项目中对接第三方系统是非常常见的。常见的对接的第三方系统包括但不限于以下几种:1.支付系统:例如支付宝、微信支付、银联支付等。如果项目需要接入支付功能,就需要对接相应的支付系统。2.物流系统:例如顺丰、圆通、中通等。如果项目中需要使......
  • Go面试题——逃逸分析
    Go面试题——逃逸分析一个变量是在堆分配,还是在栈上分配,是经过编译器的逃逸分析之后得出的"结论"。一、逃逸分析是什么?在C语言中,可以使用malloc和free手动在堆上分配和回收内存。在Go语言中,堆内存是通过垃圾回收机制自动管理的,无需开发者指定。那么,Go编译器......
  • leetcode 183
    从不订购的客户 selectc.NameasCustomersfromCustomerscleftjoinOrdersoonc.Id=o.CustomerIdwhereo.CustomerIdisnull selectcustomers.namecustomersfromcustomerswherecustomers.idnotin(selectorders.customeridfromorders) ......
  • leetcode 181
    超过经理收入的员工 selecte1.nameasEmployeefromEmployeee1,Employeee2wheree1.managerId=e2.idande1.salary>e2.salary selecte1.nameasEmployeefromEmployeee1leftjoinEmployeee2one1.managerId=e2.idwheree1.salary>e2.salary......
  • .NET开发工程师面试题
     一个网友参加了某公司的.NET开发工程师面试。该公司正在招聘一位薪资水平在20K-25k之间的优秀.NET开发工程师。为了帮助大家更好地了解.NET开发领域的要求和应试技巧,小编将与大家分享这个职位的面试题目。题目如下,大家先自己模拟回答一下,然后再看后面的答案。题目请简述.NET......
  • 【LeetCode回溯算法#extra01】集合划分问题【火柴拼正方形、划分k个相等子集、公平发
    火柴拼正方形https://leetcode.cn/problems/matchsticks-to-square/你将得到一个整数数组matchsticks,其中matchsticks[i]是第i个火柴棒的长度。你要用所有的火柴棍拼成一个正方形。你不能折断任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒必须使用一次。如......