スポンサーリンク

累積和の使い方をPythonで勉強する

スポンサーリンク
スポンサーリンク
この記事は約2分で読めます。

この記事では累積和の使い方について整理します。

 

累積和について

概要

・配列内の特定の区間の和を素早く求めたい場合に役立つ

・配列の要素数が大きい場合に役立つ

・累積和はリストで保持する

・累積和のリストの各要素は、元の配列の0番目からi番目までの合計値

 

 

区間

 

 

開区間

開区間(start, end)の場合

元の配列ではstart+1番目からend-1番目の要素を含む。

区間で考えるとstart+1番目からend番目になる。

 

開区間の視覚化

 

 

半開区間

半開区間[start, end)の場合

元の配列ではstart番目からend-1番目の要素を含む。

区間で考えるとstart番目からend番目になる。

半開区間の視覚化

 

 

閉区間

閉区間[start, end]の場合

元の配列ではstart番目からend番目の要素を含む。

区間で考えるとstart番目からend+1番目になる。

閉区間の視覚化

 

 

累積和の実装

 

累積和のリストを作る

 

 

特定の区間の和を求める

 

 

・元の配列のインデックスで考える場合

元の配列でi番目~j番目の要素の合計を求めたい場合、

累積和のリストで、j+1の要素からi番目の要素を引けば良い

 

・元の配列の区間で考える場合

元配列の区間[start, end)を求めたい場合、

累積和のリストで、end番目の要素からstart番目の要素を引けば良い

 

 

まとめ

今回は累積和について確認しました。

 

Python記事一覧

コメント