クルトンのプログラミング教室

Pythonの使い方やPythonを使った競技プログラミングの解法などを解説しています。

Pythonで理解する蟻本「2-3 lower_bound」(p.65)

この記事は「プログラミングコンテストチャレンジブック第2版」(蟻本)の
「2-3 lower_bound」(p.65)
のコードをPythonで書き直したものとなっています。

bisectモジュール

二分探索をする際にPythonではbisectモジュールを使用します。

lower_boundにはbisectモジュールのbisect_left関数が、upper_boundにはbisectモジュールのbisect_right関数が対応しています。

コラムのコード

# bisect_left関数、bisect_right関数をインポートする
from bisect import bisect_left, bisect_right

bisect_right(a, k) - bisect_left(a, k)