你打算在你家附近的树林里建一座树屋,这样就能看日出日落了。
你从当地一家测绘公司拿到了数据,这些数据显示了地图上每个矩形区域内每棵树的高度。 你需要分析地图上的每个网格,为你的树屋找出合适的好树。
一棵好树要同时满足两点:
你的任务是找出所有可以搭建树屋的潜在树木。
数据公司以网格的形式提供数据,网格中显示着每棵树的高度。 网格的行代表东西方向,列代表南北方向。
合格的树必须是它所在那一行中最大的,同时是它所在那一列中最小的。
一个网格里可能一棵合格的树都没有。 也可能有一棵,甚至好几棵。
下面这个网格里恰好有一棵候选的树。
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
所以[2, 1]这个点(行:2,列:1)是搭建树屋的绝佳位置。
输入是一个字符串。 为了让这道练习对初学者更友好,不需要考虑多位数字。
线性内存的第 64 到 191 字节预留给输入字符串。
输出是行和列组成的 u8 值对,直接拼接在一起。
例如,如果有三个鞍点
行:2,列:1 行:2,列:2 行:2,列:3
那么期望的输出就是 u8 值 2, 1, 2, 2, 2, 3