エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
2分探索 - Think Stitch - PRINCIPIA
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
2分探索 - Think Stitch - PRINCIPIA
2分探索が好きなんです。 「2分探索のコードなんか自分で書くな。ライブラリを使え。」 そうなんですけ... 2分探索が好きなんです。 「2分探索のコードなんか自分で書くな。ライブラリを使え。」 そうなんですけど、ちょっと次の問題を考えてみませんか? 問題 プロポーショナルフォント(文字によって幅の異なるフォント)を使って文字列を表示するとき、与えられた幅に表示できる最大の文字列長を知りたいことがあります。 文字列の表示幅を計算してくれる関数 width(s, k) があるとしましょう。 ここで s は文字列、k は幅を計算する先頭からの部分文字列の長さです。 文字列 s の長さを s.len とすると、0 <= k <= s.len でなければなりません。 width(s, s.len) が文字列 s 全体の表示幅です。 width(s, 0) = 0 であるとします。 負の幅を持つ文字はないと仮定すると、width(s, k) は k に対して単調に増加することになります。 厳密には、幅 0