乙隻青蛙想要過河。 假定河流被等分為 x 個單元格,並且在每乙個單元格內都有可能放有一石子(也有可能沒有)。 青蛙可以跳上石頭,但是不可以跳入水中。
給定石子的位置列表(用單元格序號公升序表示), 請判定青蛙能否成功過河(即能否在最後一步跳至最後乙個石子上)。 開始時, 青蛙預設已站在第乙個石子上,並可以假定它第一步只能跳躍乙個單位(即只能從單元格1跳至單元格2)。
如果青蛙上一步跳躍了 k 個單位,那麼它接下來的跳躍距離只能選擇為 k - 1、k 或 k + 1個單位。 另請注意,青蛙只能向前方(終點的方向)跳躍。
請注意:
石子的數量 ≥ 2 且 < 1100;
每乙個石子的位置序號都是乙個非負整數,且其 < 231;
第乙個石子的位置永遠是0。
示例 1:
[0,1,3,5,6,8,12,17]
總共有8個石子。
第乙個石子處於序號為0的單元格的位置, 第二個石子處於序號為1的單元格的位置,
第三個石子在序號為3的單元格的位置, 以此定義整個陣列...
最後乙個石子處於序號為17的單元格的位置。
返回 true。即青蛙可以成功過河,按照如下方案跳躍:
跳1個單位到第2塊石子, 然後跳2個單位到第3塊石子, 接著
跳2個單位到第4塊石子, 然後跳3個單位到第6塊石子,
跳4個單位到第7塊石子, 最後,跳5個單位到第8個石子(即最後一塊石子)。
示例 2:
[0,1,2,3,4,8,9,11]
返回 false。青蛙沒有辦法過河。
這是因為第5和第6個石子之間的間距太大,沒有可選的方案供青蛙跳躍過去。
class solution
}return mp[stones[n -1]].size() != 0;
}};
Leetcode 403 青蛙過河 C
乙隻青蛙想要過河。假定河流被等分為 x 個單元格,並且在每乙個單元格內都有可能放有一石子 也有可能沒有 青蛙可以跳上石頭,但是不可以跳入水中。給定石子的位置列表 用單元格序號公升序表示 請判定青蛙能否成功過河 即能否在最後一步跳至最後乙個石子上 開始時,青蛙預設已站在第乙個石子上,並可以假定它第一步...
青蛙過河問題
青蛙過河是乙個非常有趣的智力遊戲,其大意如下 一條河之間有若干個石塊間隔,有兩隊青蛙在過河,每隊有3 只青蛙,如 圖 10 19所示。這些 青蛙只能向前移動,不能向後移動,且一次只能有乙隻青蛙向前移動。在移動過程中,育蛙可以向 前面的空位中移動,不可一次跳過兩個位置,但是可以跳過對方乙隻青蛙進入前面...
N 青蛙過河
description 1 一條小溪尺寸不大,青蛙可以從左岸跳到右岸,在左岸有一石柱l,石柱l面積只容得下乙隻青蛙落腳,同樣右岸也有一石柱r,石柱r面積也只容得下乙隻青蛙落腳。2 有一隊青蛙從小到大編號 1,2,n。3 初始時 青蛙只能趴在左岸的石頭 l 上,按編號乙個落乙個,小的落在大的上面 不允...