首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode 2133. 检查是否每一行每一列都包含全部整数

LeetCode 2133. 检查是否每一行每一列都包含全部整数

作者头像
Michael阿明
发布于 2022-03-10 09:57:28
发布于 2022-03-10 09:57:28
57300
代码可运行
举报
运行总次数:0
代码可运行

文章目录

1. 题目

对一个大小为 n x n 的矩阵而言,如果其每一行和每一列都包含从 1 到 n 的 全部 整数(含 1 和 n),则认为该矩阵是一个 有效 矩阵。

给你一个大小为 n x n 的整数矩阵 matrix ,请你判断矩阵是否为一个有效矩阵:如果是,返回 true ;否则,返回 false 。

示例 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:matrix = [[1,2,3],[3,1,2],[2,3,1]]
输出:true
解释:在此例中,n = 3 ,每一行和每一列都包含数字 123 。
因此,返回 true

示例 2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:matrix = [[1,1,1],[1,2,3],[1,2,3]]
输出:false
解释:在此例中,n = 3 ,但第一行和第一列不包含数字 23 。
因此,返回 false 。
 
提示:
n == matrix.length == matrix[i].length
1 <= n <= 100
1 <= matrix[i][j] <= n

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/check-if-every-row-and-column-contains-all-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 按题意对行列求和,并判断不同的数的个数是不是为 n 个
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution:
    def checkValid(self, matrix: List[List[int]]) -> bool:
        n = len(matrix)
        import numpy as np
        matrix = np.array(matrix)
        s = (n+1)*n//2
        for i in range(n):
            if sum(matrix[i, :]) != s or len(set(matrix[i, :])) != n:
                return False
        for i in range(n):
            if sum(matrix[:, i]) != s or len(set(matrix[:, i])) != n:
                return False
        return True

216 ms 32.4 MB Python3


我的CSDN博客地址 https://michael.blog.csdn.net/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RTTI和类型转换运算符
RTTI是运行阶段类型识别(Runtime Type Identification)的简称。该特性是为了程序在运行阶段确定对象类型提供一种标准方式。
艰默
2022/12/12
6610
c++类型转换与RTTI运行阶段类型识别
我们都知道C++完全兼容C语言,C语言的转换方式很简单,可以在任意类型之间转换,但这也恰恰是缺点,因为极其不安全,可能不经意间将指向const对象的指针转换成非const对象的指针,可能将基类对象指针转成了派生类对象的指针,这种转换很容易出bug,需要严格审查代码才能消除这种隐患,但是C这种转换方式不利于我们审查代码,且程序运行时也可能会出bug。
芯动大师
2023/07/15
2960
c++类型转换与RTTI运行阶段类型识别
C++:从技术实现角度聊聊RTTI
第一次接触RTTI,是在<<深度探索c++对象模型>>这本书中,当时对这块的理解比较浅,可能因为知识积累不足吧。后面在工作中用到的越来越多,也逐渐加深了对其认识,但一直没有一个系统的认知,所以抽出一段时间,把这块内容整理下。
高性能架构探索
2023/06/13
1.4K0
C++:从技术实现角度聊聊RTTI
浅析C++中的RTTI:运行时类型识别
在 C++ 编程中,我们经常需要处理各种复杂的对象类型和继承层次结构。在某些情况下,我们需要在运行时了解对象的真实类型,并根据其类型执行相应的操作。这正是 RTTI(Run-Time Type Identification)的用武之地。
程序员的园
2024/07/18
2060
浅析C++中的RTTI:运行时类型识别
C++:16---强制类型转换和类型转换
旧式的强制类型转换 在早期C/C++中,显式地进行强制类型的转换有以下两种形式: type (expr) ; //函数形式的强制类型转换 (type) expr; //C语言风格的强制类型转换 比如: char c = '12'; int b = (int)c; float f = float(b); C++的新式强制类型转换 命名的强制类型转换具有如下形式: cast-name<type> (expr); cast-name可以是
用户3479834
2021/02/03
2.2K0
【C++航海王:追寻罗杰的编程之路】C++的类型转换
在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转换,C语言中总共有两种形式的类型转换:
枫叶丹
2024/06/04
2350
【C++航海王:追寻罗杰的编程之路】C++的类型转换
【C++】类型转换
在 C 语言中,如果 赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值类型不一致时,就需要发生类型转化 , C 语言中总共有两种形式的类型转换: 隐式类型 转换和显式类型转换 。
青衫哥
2023/10/17
3140
【C++】类型转换
【C++】C++的类型转换
在 C 语言中,如果 赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与
小文要打代码
2025/05/20
900
运行时类型识别
运行时类型识别(run-time type identification, RTTI)的功能由两个运算符实现:
Rock_Lee
2020/10/15
8970
C++的类型转换
在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型 转换和显式类型转换。
ljw695
2024/10/18
2650
C++的类型转换
c++15.0 RTTI机制, 类型转换操作, 表达式类型推断与获取
---- c++的语法,我准备要结束了,c++东西还有很多,比如多线程,c11新特性等,我不是很熟,以后有时间在补充吧。准备写c#了,原本准备开始java语法的,但是看到简书上面好多是有关java的文章,写的都很不错(至少我感觉写不出更好的了),决定换一个方向,语法是通用的,但是还是有些不同之处,c#的.net平台,好歹是能和j2ee对立的,怎么能没有人介绍了。 ---- 知识点综述: ---- RTTI机制: 通过运行时类型识别,程序通过使用基类的指针或者引 用来检查这些指针或引用所指向对象的实际类
热心的社会主义接班人
2018/04/27
1.1K0
c++15.0 RTTI机制, 类型转换操作,  表达式类型推断与获取
【C++高阶】C++类型转换全攻略:深入理解并高效应用
前言:在C++的浩瀚宇宙中,类型转换作为连接不同类型数据之间的桥梁,扮演着至关重要的角色。它不仅关乎程序的正确性与效率,更是深入理解C++语言特性的重要一环。随着C++语言的不断演进,类型转换的规则与技巧也日益丰富和复杂,为开发者提供了强大的灵活性和表达力
Eternity._
2024/09/18
2230
【C++高阶】C++类型转换全攻略:深入理解并高效应用
【C++】你只会强制类型转换吗?来看看C++的骚操作吧!
​ 在 C语言 中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化, C语言 中总共有两种形式的类型转换:隐式类型转换、显式类型转换。
利刃大大
2025/05/21
1560
【C++】你只会强制类型转换吗?来看看C++的骚操作吧!
C++强制类型转换操作符 dynamic_cast
dynamic_cast是四个强制类型转换操作符中最特殊的一个,它支持运行时识别指针或引用。
Tencent JCoder
2022/05/06
6700
C++强制类型转换操作符 dynamic_cast
初识C++ · 类型转换
C++可以说是恨死了隐式类型转换,你可能会疑问了,为什么?不是单参数隐式类型转换为自定义类型的时候人们还是津津乐道的吗?但是当我们模拟首先插入的某种情况的时候,可能会写这种代码:
_lazy
2024/10/16
1490
初识C++ · 类型转换
C++显性契约与隐性规则:类型转换
关于类型转换,通常是隐式转换或者强制转换,C++ 提供了一些能够显式表示转换的运算符,能够更好的规避一些风险和错误
DARLING Zero two
2025/06/12
660
RTTI简介
RTTI是Runtime Type Identification的缩写,是“运行时类型识别”的意思。面向对象的编程语言,象C++,Java,Delphi都提供了对RTTI的支持。 本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI。本文还将详细描述两个重要的 RTTI 运算符的使用方法,它们是 typeid 和dynamic_cast。
恋喵大鲤鱼
2018/08/03
6000
【c++】类型转换
类型相近的才能发生隐式类型转换,如int和double,如果不相关,而对于指针和整型,指针是地址,整型和指针类型之间不会进行隐式类型转换,只能显式的强制类型转换:
平凡的人1
2023/10/15
3580
【c++】类型转换
QT 中的元对象系统
作为一名十几年的 C++ 程序员,最近一段时间使用 QT 开发程序,发现 QT 中还是有许多值得深入理解的技术。QT 不仅仅是一个应用程序开发框架,还有一些对标准 C++ 的扩充。本文和大家一起探讨 QT 中的元对象系统。
云水木石
2023/11/24
5600
QT 中的元对象系统
C++11类型转换
但是上边的代码会出现一个问题,就是运行结果显示,a还是2,不过当我们打开监视窗口可以看到a其实已经被改成3了,这是什么原因呢?
芝士就是菜
2023/04/20
4490
C++11类型转换
相关推荐
RTTI和类型转换运算符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档