力扣水壺問題 熱題 使用BFS實現的答案

2021-10-04 06:56:21 字數 903 閱讀 6157

原題:

有兩個容量分別為 x公升 和y公升 的水壺以及無限多的水。請判斷能否通過使用這兩個水壺,從而可以得到恰好 z公升 的水?

如果可以,最後請用以上水壺中的一或兩個來盛放取得的 z公升 水。

你允許:

示例 1:(from the famous "die hard" example)

輸入: x = 3, y = 5, z = 4

輸出: true

示例 2:

輸入: x = 2, y = 6, z = 5

輸出: false

點讚高的題解:

參照的實現**:

#include "pch.h"

#include #include #include #include //#include using namespace std;

using pii = pair;

//定義雜湊函式 lambda表示式

auto hash_func = (const pii& po) ;

class solution

}; pii operation(int state, const pii& cur_state, int x, int y)

return tmp;

} bool canmeasurewater(int x, int y, int z)

tmp.second));

//各種可操作情況

for (int i = 0; i < 6; i++)

}return false;

}};int main()

system("pause");

return 0;

}

力扣 225題用佇列實現棧

使用佇列實現棧的下列操作 push x 元素 x 入棧 pop 移除棧頂元素 top 獲取棧頂元素 empty 返回棧是否為空 注意 你只能使用佇列的基本操作 也就是 push to back,peek pop from front,size,和 is empty 這些操作是合法的。你所使用的語言也...

力扣刷題之路 括號匹配問題

括號匹配問題在力扣中有好幾道,簡單的括號匹配問題即乙個左括號需要對應乙個右括號,判斷是否匹配或者需要加入幾個左括號或右括號,此時的問題比較簡單,當字串中的字元只有一種型別的括號時,直接用乙個變數儲存需要的左括號或者右括號數量即可,當有多種括號型別時,可以利用棧儲存字串陣列中的字元,根據棧後進先出的特...

力扣232號題 用棧實現佇列

push x 將乙個元素放入佇列的尾部。pop 從佇列首部移除元素。peek 返回佇列首部的元素。empty 返回佇列是否為空。myqueue queue new myqueue queue.push 1 queue.push 2 queue.peek 返回 1 queue.pop 返回 1 que...