int[26],int[128],int[256]の話。

LeetCodeのLongest Substring Without Repeating Charactersにて

Sliding Windowアルゴリズムを実装している例を写経している時に

int[] chars = new int[26];

という表現を見つけたので何故このような宣言をしているかを調べた。

結果としては単純にアルファベットの数分の領域を確保するために行なっているよう。

他にも

int[] chars = new int[128];

や、

int[] chars = new int[256];

が存在するが、これらはint[128] は ASCII用、int[256]は拡張 ASCII用ということだった。

ASCIIは7ビット、拡張ASCIIは8ビットを使用していることを考えれば容易に思いつくはずなのに、調べないと分からなかったので記事にしました。
多分また調べるんだろうなぁ…

コメント

このブログの人気の投稿

Braveブラウザ(iPhone,iPad)にオフラインでもYouTubeの動画が視聴可能なPlaylist機能が追加されていたので使い方をまとめてみた。

自作のChrome Extensionをインポートした時に "Invalid value for 'content_scripts[0].matches[0]': Empty path."というエラーが出たので解決した

Braveブラウザの同期機能をiPhoneで設定した話。