当前位置:首页|资讯

GFG 极客与他朋友的车之间的最大距离。

作者:您是打尖儿还是住店呢发布时间:2024-09-30

极客和他的朋友正在玩赛车游戏。给定一个输入数组 A,大小为 N。极客和他的朋友可以从 A 中的任何索引开始,并且可以将他们的车向左或向右移动一个索引(如果存在)。此外,极客和他的朋友不能将他们的车移动到任何索引处,使得该索引上的 A 值小于当前索引处的值。


你的任务是找到极客和他的朋友的车之间的最大可能距离。


请注意,极客和他的朋友的车将从同一索引开始,并且给定的数组是从 0 开始的索引。


示例 1:


输入:

N = 5

A[] = {1,2,3,4,5}

输出:4

解释:

极客和他的朋友将从第一个索引开始。

当极客将他的车移到第 5 个索引时,他的朋友会将他的车放在第 1 个索引。


示例 2:


输入:

N = 3

arr[] = {4,3,3}

输出:2

解释:

极客和他的朋友从第 2 个索引开始。

极客将他的车移到第 3 个索引,他的朋友将他的车移到第 1 个索引。

-----

这道题目有点像接雨水,我是2个方向遍历数组,然后找最值,但是这样会超时,或者是错,正常的应该是计算每个位置往左往右能走的最大距离,然后更新ans,最后输出,但是已经遍历过的索引其实不需要再次遍历了。比如5 4 3 4 5. 这里面3 4 5向右到最右端,那么再次走的时候,4 跟5 正常不需要单独再遍历一次了,如果能想到这里就好了。

下面是代码,参考的别人的,就是3个while 循环处理。

点睛之笔就是,每次更新后,r更新后,l要同步更为为r,因为更换索引位置了,需要重新开始扫描。

学习到了。。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1