題意:
有乙隻跳蚤的家在數軸上的位置x
處。請你幫助它從位置0
出發,到達它的家。
跳蚤跳躍的規則如下:
跳蚤可以往前跳超過它的家的位置,但是它不能跳到負整數的位置。
給你乙個整數陣列forbidden
,其中forbidden[i]
是跳蚤不能跳到的位置,同時給你整數a
,b
和x
,請你返回跳蚤到家的最少跳躍次數。如果沒有恰好到達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 回到北京,有了到家的感覺 這次出門,是到北京定居以來最長的一次。南京算是第二次去,武漢則是首次。在南京停留的時間較長,我們的運氣還不錯,這個期間南京的氣候還可以,沒有感覺到什麼不適。年輕人出門,總是興致勃勃的,他們一路有說有笑,我溶在其中,潛意識裡也覺得年輕...