在标准输入上为您提供了2D的陆地高度阵列,您必须弄清楚下雨时湖泊的形成位置。高度图只是数字0-9(含)的矩形数组。
8888888888
5664303498
6485322898
5675373666
7875555787
您必须输出相同的数组,并用将所有在水下的位置替换*
。
8888888888
566*****98
6*85***898
5675*7*666
7875555787
水可以沿对角线逸出,因此在这种配置下不会有湖泊:
888
838
388
最短的代码胜出。您的代码必须处理最大80宽和24高的尺寸。
另外三个例子:
77777 77777
75657 7*6*7
75757 => 7*7*7
77677 77677
77477 77477
599999 599999
933339 9****9
936639 => 9*66*9
935539 9*55*9
932109 9****9
999999 999999
88888888 88888888
84482288 8**8**88
84452233 => 8**5**33
84482288 8**8**88
88888888 88888888
4
如果可能的话,再使用一些测试用例会更好(特别是输入时,您将考虑边缘用例)。
—
罗
输出行中是否允许尾随空格?
—
hallvabo,2012年
@hallvabo:不。你为什么要
—
基思·兰德尔
Keith:我有另一个解决方案,我将输入行填充到固定宽度,并在算法中保存了一些字节。如果必须删除输出的填充,则此方法比当前最佳解决方案占用更多字节。
—
hallvabo,2012年