小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),如果我们不考虑返回结果的矩阵,我们只用了常数额外的空间来存储中间结果。
相关推荐
灵感__idea12 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
Wect1 天前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
NAGNIP1 天前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
端平入洛2 天前
delete又未完全delete
c++
颜酱2 天前
单调栈:从模板到实战
javascript·后端·算法
CoovallyAIHub2 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
YOLO-IOD深度解析:打破实时增量目标检测的三重知识冲突
深度学习·算法·计算机视觉