前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【每日一题11-19】1732.找到最高海拔

【每日一题11-19】1732.找到最高海拔

作者头像
用户1072003
发布2022-12-02 20:57:33
发布2022-12-02 20:57:33
31900
代码可运行
举报
文章被收录于专栏:码上读书码上读书
运行总次数:0
代码可运行

原题

有一个自行车手打算进行一场公路骑行,这条路线总共由 n + 1 个不同海拔的点组成。自行车手从海拔为 0 的点 0 开始骑行。

给你一个长度为 n 的整数数组 gain ,其中 gain[i] 是点 i 和点 i + 1净海拔高度差0 <= i < n )。请你返回 最高点的海拔

示例 1:

代码语言:javascript
代码运行次数:0
复制

<b>输入:</b>gain = [-5,1,5,0,-7]
<b>输出:</b>1
<b>解释:</b>海拔高度依次为 [0,-5,-4,1,1,-6] 。最高海拔为 1 。

示例 2:

代码语言:javascript
代码运行次数:0
复制

<b>输入:</b>gain = [-4,-3,-2,-1,4,3,2]
<b>输出:</b>0
<b>解释:</b>海拔高度依次为 [0,-4,-7,-9,-10,-6,-3,-1] 。最高海拔为 0 。

提示:

  • n == gain.length
  • 1 <= n <= 100
  • -100 <= gain[i] <= 100

难度 Easy

标签 数组 前缀和

思路 今天这是一道简单题。读完题看了2个示例,发现都是从海平面高度为0的地方出发,如果第一个高度为-5,那么就相当于在走下坡,到海平面下面去了。如果下一个数为正数代表开始走上坡路。但是每个数都是相对上一个位置的相对上坡/下坡的高度。其实就是让我们求每个位置的绝对海拔,然后把最大的那个海拔给说出来。

那思路就很简单了,直接一个线性遍历 就OK拉!~

代码语言:javascript
代码运行次数:0
复制
func largestAltitude(gain []int) int {
    // 先把上一个位置 和 最高的位置 都初始化为0
	last, max := 0, 0
    // 开始遍历所有节点
	for _, v := range gain {
		last += v
		if last > max {
			max = last
		}
	}
    // 当我走完所有节点就知道哪里最高了。
	return max
}

力扣题库地址 https://leetcode-cn.com/problems/find-the-highest-altitude

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码上读书 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档