鞍点

鞍点

中等

简介

你打算在自家附近的树林里建一座树屋,这样就可以在那里看日出和日落了。

你从当地一家测绘公司拿到了数据,里面标出了地图上每一块矩形区域中所有树木的高度。 你需要分析地图上的每一个网格,为你的树屋找到那棵最理想的树。

最好的那棵树,要比它东边和西边所有的树都高,这样你才能看到最开阔的日出和日落。 你又不喜欢爬得太高,所以这棵最理想的树还要比它北边和南边所有的树都矮。

说明

你的任务是找出那些可以搭建树屋的潜在树木。

数据公司以网格的形式提供数据,网格中显示着树木的高度。 网格的行代表东西方向,列代表南北方向。

一棵合格的树,必须是它所在行中最大的,同时是它所在列中最小的。

一个网格可能一棵合适的树都没有。 也可能有一棵,甚至有好几棵。

下面这个网格中正好有一棵候选树。

1  2  3  4

|----------- 1 | 9 8 7 8 2 | 5 3 2 4 <--- potential tree house at row 2, column 1, for tree with height 5 3 | 6 6 7 1

  • 第 2 行的值是 5、3 和 1。其中最大的是 5。
  • 第 1 列的值是 9、5 和 6。其中最小的是 5。

所以 [2, 1] 这个点(第 2 行,第 1 列)是搭建树屋的绝佳位置。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Delphi Pascal Exercism

准备好开始 鞍点 了吗?

注册 Exercism,借助 76 个练习 和真人导师指导,学习并掌握 Delphi Pascal,全部免费。