当前位置: 首页 > news >正文

小F的矩阵值调整

问题描述

小F得到了一个矩阵。如果矩阵中某一个格子的值是偶数,则该值变为它的三倍;如果是奇数,则保持不变。小F想知道调整后的矩阵是什么样子的。


测试样例

样例1:

输入:a = [[1, 2, 3], [4, 5, 6]]
输出:[[1, 6, 3], [12, 5, 18]]

样例2:

输入:a = [[7, 8, 9], [10, 11, 12]]
输出:[[7, 24, 9], [30, 11, 36]]

样例3:

输入:a = [[2, 4], [6, 8]]
输出:[[6, 12], [18, 24]]

思路:

  1. 遍历矩阵中的每个元素。
  2. 判断每个元素的奇偶性:
    • 如果是偶数,乘以 3。
    • 如果是奇数,保持原值不变。
  3. 返回修改后的矩阵。

代码实现:

代码解释:

  1. 函数 solution

    • 该函数接受一个二维 vector(矩阵)作为输入,遍历每个元素。
    • 如果元素是偶数,则将其值乘以 3。
    • 如果元素是奇数,则不进行任何修改,保持原值。
    • 修改完成后,返回新的矩阵。
  2. 主函数 main

    • 定义了三个测试用例。
    • 使用 solution 函数计算出修改后的矩阵,并与预期的矩阵进行比较,输出 1 表示成功,0 表示失败。

解释测试样例:

  1. 测试用例 1: 输入:a = {{1, 2, 3}, {4, 5, 6}}

    • 1 是奇数,保持不变。
    • 2 是偶数,变为 6
    • 3 是奇数,保持不变。
    • 4 是偶数,变为 12
    • 5 是奇数,保持不变。
    • 6 是偶数,变为 18。 输出:{{1, 6, 3}, {12, 5, 18}}
  2. 测试用例 2: 输入:a = {{7, 8, 9}, {10, 11, 12}}

    • 7 是奇数,保持不变。
    • 8 是偶数,变为 24
    • 9 是奇数,保持不变。
    • 10 是偶数,变为 30
    • 11 是奇数,保持不变。
    • 12 是偶数,变为 36。 输出:{{7, 24, 9}, {30, 11, 36}}
  3. 测试用例 3: 输入:a = {{2, 4}, {6, 8}}

    • 2 是偶数,变为 6
    • 4 是偶数,变为 12
    • 6 是偶数,变为 18
    • 8 是偶数,变为 24。 输出:{{6, 12}, {18, 24}}

时间复杂度:

  • 时间复杂度为 O(n * m),其中 n 是矩阵的行数,m 是每行的列数。
  • 因为我们需要访问每个矩阵元素一次。

空间复杂度:

  • 空间复杂度为 O(1),如果我们不考虑返回结果的矩阵,我们只用了常数额外的空间来存储中间结果。
http://www.lryc.cn/news/494588.html

相关文章:

  • ORB-SLAM2 ----- LocalMapping::SearchInNeighbors()
  • 给UE5优化一丢丢编辑器性能
  • 【Docker】常用命令汇总
  • Mybatis:CRUD数据操作之多条件查询及动态SQL
  • 【笔记】轻型民用无人驾驶航空器安全操控
  • TouchGFX设计模式代码实例说明
  • flink学习(7)——window
  • restTemplate get请求
  • ffmpeg 预设的值 加速
  • maven <scope>compile</scope>作用
  • Ubuntu Server 22.04.5 从零到一:详尽安装部署指南
  • 反射机制了解
  • 机器学习策略Ⅰ
  • redis中的bigkey及读取优化
  • 【西瓜书】支持向量机(SVM)
  • 三维渲染中顺序无关的半透明混合(OIT)(二——Stencil Route)
  • (SAST检测规则-3)固定的 SessionID 缺陷详解
  • 【安卓开发】【Android Studio】项目构建(Build)时报错:Integer Overflow
  • STM32主要功能
  • MacOS 如何连接 Linux NFS 服务器
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-39
  • 摄影相关常用名词
  • 02.06、回文链表
  • Shell脚本小练习
  • 四轮转向轮式里程计设计(python)
  • 多方法做配对样本t检验(三)
  • Vue 将推出「无虚拟DOM」版本,又是新的前端框架趋势?
  • 阿里云ECS服务器磁盘空间不足的几个文件
  • 从0开始linux(38)——线程(1)线程概念
  • Ubuntu源码安装gitlab13.7集群多前端《二》