Leetcode 1654 到家的最少跳躍次數

2021-10-11 02:58:54 字數 973 閱讀 1335

題意:

有乙隻跳蚤的家在數軸上的位置x處。請你幫助它從位置0出發,到達它的家。

跳蚤跳躍的規則如下:

跳蚤可以往前跳超過它的家的位置,但是它不能跳到負整數的位置。

給你乙個整數陣列forbidden,其中forbidden[i]是跳蚤不能跳到的位置,同時給你整數abx,請你返回跳蚤到家的最少跳躍次數。如果沒有恰好到達x的可行方案,請你返回-1

解題思路:

寬度優先搜尋,bfs

設定乙個陣列,來判斷當前的位置是否可以走

佇列型別定義為pair型別,first表示可以走到**,second表示能否向後跳,如果當前位置是後跳過的,因為不能連續跳兩次,那麼就不能往後跳

右邊界設定為6000,防止無限向前跳

**詳解:

class solution 

q.push(); // 0 已經不能向後跳

int ans = 0;

while (q.size())

if (k.first - b > 0 && k.second == 1 && c[k.first - b] == 0) );

}if (c[k.first + a] == 0 && k.first + a < 6000) );}}

ans++;

}return -1;

}};

1654 到家的最少跳躍次數

題目描述 有乙隻跳蚤的家在數軸上的位置 x 處。請你幫助它從位置 0 出發,到達它的家。跳蚤跳躍的規則如下 它可以 往前 跳恰好 a 個位置 即往右跳 它可以 往後 跳恰好 b 個位置 即往左跳 它不能 連續 往後跳 2 次。它不能跳到任何 forbidden 陣列中的位置。跳蚤可以往前跳 超過 它...

58到家mysql使用的規範

這裡面都是一些很簡單的規則,看似沒有特別大的意義,但真實的不就是這麼簡單繁雜的工作嗎?軍規適用場景 併發量大 資料量大的網際網路業務 軍規 介紹內容 解讀 講解原因,解讀比軍規更重要 一 基礎規範 1 必須使用innodb儲存引擎 解讀 支援事務 行級鎖 併發效能更好 cpu及記憶體快取頁優化使得資...

回到北京,有了到家的感覺

2006年06月14日 19 53 00 回到北京,有了到家的感覺 這次出門,是到北京定居以來最長的一次。南京算是第二次去,武漢則是首次。在南京停留的時間較長,我們的運氣還不錯,這個期間南京的氣候還可以,沒有感覺到什麼不適。年輕人出門,總是興致勃勃的,他們一路有說有笑,我溶在其中,潛意識裡也覺得年輕...