2017-09-20 11 views
0

私は初心者のコーダーです(私は高校でC++を勉強しました)今、私はこの競争の激しいプログラミングウェブサイトから質問を解決し始めました。私はこの質問を解決しようとしましたが、かなり成功しませんでした。CodeChefのサブシーケンス等価

これは他の誰かのコードですが、私が理解できないのは、配列の中の文字列から 'a'のASCII値を差し引いた理由です。ここで問題と解決策です:ラインif(a[s[i]-97] >= 2)

https://www.codechef.com/problems/LIKECS01 enter image description here

enter image description here

+1

コードをコピーしてデバッガを使用 –

+0

「a」のASCIIコードは97です。https://en.wikipedia.org/wiki/ASCII – blueCat

答えて

1

は、私たちが実際にその特定の文字の発生のためにチェックしている(S [i])と、配列の助けを借りて( aのインデックス0、bのインデックス1、cのインデックス2など)。 97はASCIIコードで 'a'なので、 'a'-97は0、' b ' - 97 (つまり98 - 97)は1を与えるなどとなります。

+0

ありがとうございました。 –