LeetCode 284 頂端迭代器

2021-10-05 04:54:30 字數 855 閱讀 6807

給定乙個迭代器類的介面,介面包含兩個方法: next() 和 hasnext()。

設計並實現乙個支援 peek() 操作的頂端迭代器 – 其本質就是把原本應由 next() 方法返回的元素 peek() 出來。

示例:

假設迭代器被初始化為列表 [1,

2,3]。

呼叫 next

() 返回 1,得到列表中的第乙個元素。

現在呼叫 peek

() 返回 2,下乙個元素。在此之後呼叫 next

() 仍然返回 2。

最後一次呼叫 next

() 返回 3,末尾元素。在此之後呼叫 hasnext

() 應該返回 false。

高階:你將如何拓展你的設計?使之變得通用化,從而適應所有的型別,而不只是整數型?

// below is the inte***ce for iterator, which is already defined for you.

// **do not** modify the inte***ce for iterator.

class

iterator

;//----------------------以上不用提交----------

class

peekingiterator

:public iterator

else

end =

true;}

intpeek()

intnext()

bool

hasnext()

const

};

4 ms 9.9 mb

坦克大戰(nyoj284)

題目大體意思就是,求從地圖上的y走到t的最小步數,其中s和r不能走,b要走兩步,e要走一步。測試輸入 3 4 ybeb eere sste 0 0測試輸出 8 這個題要用優先佇列,不用的話沒有辦法保證所求的步數是最小的。我也查了一些關於優先佇列的資料,做以下整理 在優先佇列中,優先順序高的元素先出佇...

NYOJ284坦克大戰

bfs求最短路,這個題走到 b 點是要花費2個時間,e 是1個時間,所以要用乙個優先佇列,優先順序就是花費小的先出隊,其餘的就是模板了。include include include using namespace std define inf 0x3f3f3f3f int stx,sty int ...

NYOJ 284 坦克大戰(BFS)

好累啊,寫篇部落格歇歇。題目背景很有趣,是大家小時候經常玩的坦克大戰,哈哈。弱弱地表示本人小時候經常玩遊戲機。此題是在迷宮問題的基礎上做了些改動,就是地圖上能走的點可能耗費時間1,也可能耗費時間2。那麼,元素在出佇列時,不能簡單的按照以前的入隊順序出隊了,而應該讓時間最短的先出隊,這樣就能夠保證先入...