Skip to content

Files

Latest commit

aae0d64 · Dec 25, 2022

History

History
92 lines (61 loc) · 3.38 KB

File metadata and controls

92 lines (61 loc) · 3.38 KB

English Version

题目描述

给定一个 m x n 下标从 0 开始的二维正整数数组 heights,其中 heights[i][j] 是站在位置 (i, j) 上的人的高度。

站在 (row1, col1) 位置的人可以看到站在 (row2, col2) 位置的人,前提是:

  • (row2, col2) 的人在 (row1, col1) 的人的右边 或 下面。更正式地说,要么 row1 == row2 时 col1 < col2,要么 row1 < row2 col1 == col2
  • 他们中间的人 都 比他们两个矮。

返回一个 m x n 的二维整数数组answer,其中 answer[i][j] 是位于 (i, j) 位置的人可以看到的人数。

 

示例 1:

输入: heights = [[3,1,4,2,5]]
输出: [[2,1,2,1,0]]
解释:
- (0,0) 上的人可以看到 (0,1) 和 (0,2) 的人。
  注意,他看不到 (0,4) 上的人,因为 (0,2) 上的人比他高。
- (0,1) 上的人可以看到 (0,2) 上的人。
- (0,2) 上的人可以看到 (0,3) 和 (0,4) 的人。
- (0,3) 上的人可以看到 (0,4) 上的人。
- (0,4) 上的人看不到任何人。

示例 2:

输入: heights = [[5,1],[3,1],[4,1]]
输出: [[3,1],[2,1],[1,0]]
解释:
- (0,0) 上的人可以看到 (0,1)、(1,0) 和 (2,0) 的人。
- (0,1) 上的人可以看到 (1,1) 上的人。
- (1,0) 上的人可以看到 (1,1) 和 (2,0) 的人。
- (1,1) 上的人可以看到 (2,1) 上的人。
- (2,0) 上的人可以看到 (2,1) 上的人。
- (2,1) 上的人看不到任何人。

 

提示:

  • 1 <= heights.length <= 400
  • 1 <= heights[i].length <= 400
  • 1 <= heights[i][j] <= 105

解法

Python3

Java

TypeScript

...