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で設定した話。

failed: unable to get local issuer certificate (_ssl.c:1123)と出たので解決した話

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