不难看出,题目要求的是每一个房子后面最高的房子与它的高度差$+1$,(如果比它矮输出$0$)
我们定义
$maxn[i]$表示第$i$到第$n$个房子高度的最大值($n$为房子数)
$h[i]$表示第$i$个房子的高度
因为$maxn[i+1]$存放的已经是第$i+1$到第$n$个房子的最大值了,所以第$i$到第$n$个房子的最大值只要让当前房子的高度与$maxn[i+1]$进行比较即可
即$maxn[i]=max(h[i],maxn[i+1])$
代码如下
1 |
|
「深藏不露是一种卓越的才能」
不难看出,题目要求的是每一个房子后面最高的房子与它的高度差$+1$,(如果比它矮输出$0$)
我们定义
$maxn[i]$表示第$i$到第$n$个房子高度的最大值($n$为房子数)
$h[i]$表示第$i$个房子的高度
因为$maxn[i+1]$存放的已经是第$i+1$到第$n$个房子的最大值了,所以第$i$到第$n$个房子的最大值只要让当前房子的高度与$maxn[i+1]$进行比较即可
即$maxn[i]=max(h[i],maxn[i+1])$
代码如下
1 | #include<bits/stdc++.h> |