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

JavaのindexOf関数はナイーブ法で実装されているらしい

djoserを使ったDjango REST Frameworkでのカスタムユーザーモデル認証機能の実装