403 青蛙過河

2021-10-02 21:30:22 字數 916 閱讀 2983

乙隻青蛙想要過河。 假定河流被等分為 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 上,按編號乙個落乙個,小的落在大的上面 不允...