[leetcode刷题]力扣刷题5之判断矩阵是否满足条件(简单)

一次遍历整个矩阵,一一对比是否符合条件。

学习到的知识:

row表示数据表中的一行数据,它是一个列表或元组,其中存储了表的每一列的值。

enumerate() 函数:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。例,

>>> seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

题目

3142. 判断矩阵是否满足条件

给你一个大小为 m x n 的二维矩阵 grid 。你需要判断每一个格子 grid[i][j] 是否满足:

  • 如果它下面的格子存在,那么它需要等于它下面的格子,也就是 grid[i][j] == grid[i + 1][j] 。
  • 如果它右边的格子存在,那么它需要不等于它右边的格子,也就是 grid[i][j] != grid[i][j + 1] 。

如果 所有 格子都满足以上条件,那么返回 true ,否则返回 false 。

示例 1:

输入:grid = [[1,0,2],[1,0,2]]

输出:true

解释:

网格图中所有格子都符合条件

代码实现:

class Solution:
    def satisfiesConditions(self, grid: List[List[int]]) -> bool:
        # 遍历 grid 的每一行
        for i in range(len(grid)):
            # 检查当前行的相邻元素是否相等
            for j in range(len(grid[i]) - 1):  # 遍历当前行的相邻元素
                if grid[i][j] == grid[i][j + 1]:
                    return False  # 如果有相邻元素相同,则返回 False

            # 检查当前行与下一行是否相等
            if i < len(grid) - 1:  # 确保不超出边界
                if grid[i] != grid[i + 1]:
                    return False  # 如果有两行不相等,则返回 False

        return True  # 所有条件都满足,返回 True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值