スライディングウィンドウの最大値を求めるアルゴリズム

スライディングウィンドウ問題において、各ウィンドウ内の最大値を効率的に求めるには、双方向キュー(deque)を活用した単調キューというデータ構造が有効である。このアプローチにより、O(n)の時間計算量で解を導出できる。 双方向キューの特性と選択理由 通常のキュー(queue)は、要素の追加が末尾から、取り出しが先頭からのみ可能である。一方、双方向キュー(deq ...

5月29日 23:52 投稿

配列と連結リストの基本アルゴリズムと実装例

配列の二分探索 昇順に整列された重複のない配列から要素を検索する際、二分探索は効率的な手法です。左閉右閉区間と左閉右開区間の2つのアプローチを解説します。 左閉右閉区間アプローチ class Solution { public: int binarySearch(const vector<int>& arr, int target) { int low = 0; int high = arr.size() - 1; while (low tar ...

5月28日 21:40 投稿