页面加载中…
通过率 67% · 提交 286 · 通过 193
小慕正在处理一个项目中的数据表格。从标准输入中依次输入表格的行数n、列数m,以及表格本身的数据。 小慕需要将表格中所有大于10的数值,所有小于0的数值,然后输出修改后的表格。
这类题属于算法机考高频题型中「基础语法 / 循环语句」方向的高频题型,通常考察对「基础语法 / 循环语句」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
首先输入一行,n和m,分别表示这个二维数组的行数和列数。 接下来输入n行,每一行包含m个数,数字之间用空格隔开。表示这个二维矩阵。
输出n行,每一行包含m个数,数字之间用空格隔开。表示修改后二维矩阵。
示例 1
输入示例
2 3 11 12 13 -1 -2 -3
输出示例
10 10 10 0 0 0
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
读入 n 行 m 列的表格,把其中大于 10 的数改成 10、小于 0 的数改成 0,其余保持不变,然后按原格式输出修改后的表格。
max(0, min(10, x)) 一个表达式就同时覆盖了「太大压到 10、太小抬到 0、正常保持不变」三种情况,比写两个 if 分支更紧凑(参考代码即用此写法)。' '.join(...) 拼接可避免行尾多余空格),行与行之间换行。min(10, x) 或只写 max(0, x) 都会漏一半情况。n, m = map(int, input().split())
for _ in range(n):
row = list(map(int, input().split()))
new_row = [max(0, min(10, x)) for x in row]
print(' '.join(map(str, new_row)))登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有