青训营笔记创作活动

102 阅读2分钟

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

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

测试样例 样例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]]

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

思路: 1.遍历矩阵中的每个元素。 2.判断每个元素的奇偶性: 如果是偶数,乘以 3。 如果是奇数,保持原值不变。 3.返回修改后的矩阵。 代码实现: 代码解释: 1.函数 solution:

该函数接受一个二维 vector(矩阵)作为输入,遍历每个元素。 如果元素是偶数,则将其值乘以 3。 如果元素是奇数,则不进行任何修改,保持原值。 修改完成后,返回新的矩阵。 3.主函数 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),如果我们不考虑返回结果的矩阵,我们只用了常数额外的空间来存储中间结果。