前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >2024-12-17:判断矩阵是否满足条件。用go语言,给定一个大小为 m x n 的二维矩阵 grid,我们需要判断每个格子

2024-12-17:判断矩阵是否满足条件。用go语言,给定一个大小为 m x n 的二维矩阵 grid,我们需要判断每个格子

作者头像
福大大架构师每日一题
发布2024-12-19 18:42:24
发布2024-12-19 18:42:24
8000
代码可运行
举报
运行总次数:0
代码可运行

2024-12-17:判断矩阵是否满足条件。用go语言,给定一个大小为 m x n 的二维矩阵 grid,我们需要判断每个格子 grid[i][j] 是否符合以下两个条件:

1.如果下方的格子存在,则该格子必须与其下方格子相等,即 grid[i][j] 必须等于 grid[i + 1][j]。

2.如果右侧的格子存在,则该格子必须与其右侧格子不相等,即 grid[i][j] 必须不等于 grid[i][j + 1]。

如果矩阵中的所有格子都满足这两个条件,则返回 true;否则返回 false。

1 <= n, m <= 10。

0 <= grid[i][j] <= 9。

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

输出:true。

解释:

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

答案2024-12-17:

chatgpt[1]

题目来自leetcode3142。

大体步骤如下:

1.初始化变量:

  • • 定义一个函数 satisfiesConditions 接受一个二维整数数组 grid 作为参数,返回一个布尔值。
  • • 函数内部遍历矩阵元素时,使用两个嵌套的 for 循环,分别遍历行和列。
  • • 初始化遍历矩阵时的索引变量 ij

2.遍历矩阵元素:

  • • 对于每个元素 grid[i][j],检查下方的元素是否存在,即判断 i+1 是否小于矩阵的行数,如果小于且下方的元素与当前元素不相等,则返回 false
  • • 同样,检查右侧的元素是否存在,即判断 j+1 是否小于矩阵的列数,如果小于且右侧的元素与当前元素相等,则返回 false

3.返回结果:

  • • 如果遍历完所有元素后都满足上述两个条件,则返回 true,表示矩阵中的所有元素符合条件。

4.时间复杂度:

  • • 假设矩阵的维度为 m x n,那么总共需要遍历 m x n 个元素。
  • • 因此,总的时间复杂度为 O(mn)。

5.额外空间复杂度:

  • • 除了存储输入二维矩阵 grid 的空间外,没有额外的空间开销。
  • • 因此,总的额外空间复杂度为 O(1)。

Go完整代码如下:

代码语言:javascript
代码运行次数:0
复制
package main

import(
"fmt"
)

func satisfiesConditions(grid [][]int)bool{
for i :=range grid {
for j :=range grid[0]{
if i+1<len(grid)&& grid[i][j]!= grid[i+1][j]{
returnfalse
}
if j+1<len(grid[0])&& grid[i][j]== grid[i][j+1]{
returnfalse
}
}
}
returntrue
}

func main(){
    grid :=[][]int{{1,0,2},{1,0,2}}
    fmt.Println(satisfiesConditions(grid))
}

Rust完整代码如下:

代码语言:javascript
代码运行次数:0
复制
fn satisfies_conditions(grid:&Vec<Vec<i32>>)->bool{
foriin0..grid.len(){
forjin0..grid[0].len(){
if i+1< grid.len()&& grid[i][j]!= grid[i+1][j]{
returnfalse;
}
if j+1< grid[0].len()&& grid[i][j]== grid[i][j+1]{
returnfalse;
}
}
}
true
}

fnmain(){
letgrid=vec![vec![1,0,2],vec![1,0,2]];
println!("{}",satisfies_conditions(&grid));
}
引用链接

[1] chatgpt: https://chatbotsplace.com/?rc=nnNWSCJ7EP

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大体步骤如下:
  • Go完整代码如下:
  • Rust完整代码如下:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档