修好最大矩形的收尾

场景:~/work/mono/rect.cpp 求柱状图最大矩形,有的数据对,1 2 3 4 这种一路变高的却算小了。 任务:修好 largest_rect,让扫描结束时栈里剩下的柱子也被结算。make 编译(带内存检查)后用 sample

开始练习 →

找出错误解法的反例

场景:~/work/mono/wrong.cpp 是一个「只看单根柱子和相邻两根柱子」的最大矩形算法,很多数据上它都是对的。 任务:按 ~/题目.txt 的要求(柱子根数、第一根的高度)构造一个让它算错的输入,写进 ~/work/mono/

开始练习 →

重定向进来的是什么

「< 文件」把文件内容接到程序的标准输入 文件 程序 一行结果 程序照常读输入,读到文件末尾就结束 在终端里用 python3 stat.py < in.txt 运行,程序里读 sys.stdin 读到的是【0】。

开始练习 →

第一行那个井号叹号

脚本第一行写 #!/usr/bin/env python3,它的作用是【0】。

开始练习 →

数一数非空行

一段文本模拟标准输入。统计「去掉首尾空白后不为空」的行数,以及这些行去掉首尾空白后最长的长度,输出 行数/最长长度。

开始练习 →

从标准输入读数统计

场景:判题机总是替你准备好输入。到了真机上,程序要自己从标准输入一直读到结束——数据可能来自键盘,也可能来自重定向的文件。 任务:新建 ~/work/stat.py:从标准输入逐行读整数直到输入结束,空行和 # 开头的行跳过,输出一行 和/

开始练习 →

让脚本像命令一样运行

场景:同事写了个问候脚本,每次都得敲 python3 greet.py。大家希望它像系统命令一样,直接敲名字就能跑。 任务:把 ~/work/greet.py 变成可以直接执行的 ~/work/greet(文件名没有 .py),例如 ~/w

开始练习 →

相对路径从哪儿找

相对路径从「你站的地方」找,不从脚本旁边找 当前目录你 脚本目录脚本数据 站的地方一换,相对路径就指向别处 程序里写 open("data.txt"),Python 3 会在【0】里找这个文件。

开始练习 →

找到脚本自己的家

要得到脚本自己所在的目录,应该从【0】出发去算。

开始练习 →

同一个相对路径指向哪

脚本在 /home/me/work/report/report.py,人在 /tmp 里运行它,程序里写的是相对路径 prices.txt。算出两个完整路径:按当前目录解析的 a、按脚本所在目录解析的 b,输出 a|b。

开始练习 →