限定枚数の板による占有区間の最小被覆アルゴリズム

複数の隣接する配置ユニットが一列に連なっている状態を想定する。これらユニットのうち特定の位置には対象物が存在しており、それらの位置を最大 $M$ 枚の連続する板材で覆う必要がある。各板材は任意の長さを指定可能だが、使用できる総数は上限 $M$ に固定されている。すべての存在位置が含まれるように板材を設置した際、板材が占めるユニットの合計数を最小化するため ...

8月1日 11:28 投稿

LeetCode 315: 右側にあるより小さい要素の数を計算する

整数配列 nums が与えられた場合、指定された要件に従って新しい配列 counts を返してください。配列 counts は以下の性質を持つ必要があります:counts[i] の値は nums[i] の右側にある nums[i] より小さい要素の数です。 例 1: <strong>入力:</strong>nums = [5,2,6,1] <strong>出力:</strong>[2,1,1,0] <strong>説明:</strong&gt ...

7月21日 03:10 投稿

クイックソートアルゴリズム:ピボット選択方法と計算量の解析

クイックソートの基本概念 クイックソートは、分割統治法に基づく効率的なソートアルゴリズムです。これはバブルソートの改良版とも言え、バブルソートのO(n²)の計算量を改善します。クイックソートでは、ある基準値(ピボット)を選び、配列をそれより大きいグループと小さいグループに分割して再帰的に処理します。 問題設定 整数配列を受け取り、クイックソートを使っ ...

6月16日 21:58 投稿

アルゴリズムとデータ構造 - 二分探索法の応用

二分探索法 基本概念 二分探索法は情報科学で広く応用されるアルゴリズムの一つです。その核心的なアイデアは各操作で半分の候補を除外することであり、これにより問題の解を \(\text{log}_2n\)(情報科学では通常 \(\text{log}n\) と表記)の操作回数で見つけることができます。 補足:アルゴリズムの計算量 コンピュータは十分速いかもしれないが、無限速ではない。——『 ...

5月25日 17:27 投稿