数列の中から最も長い等差数列を見つけ出し、その長さを答える。
等差数列というのは
Wikipedia - 等差数列
を見ると分かる通り、等間隔に並んだ数の列のことである。
例えば。
入力は、
12345abcz
のようになっている。
各文字は数を示している。文字と値の対応は下表の通り:
文字 | 0〜9 | a〜z |
---|---|---|
値 | 0〜9 | 10〜35 |
012abku
は
[0, 1, 2, 10, 11, 20, 30]
という数列を意味している。この数列に埋まっている等差数列のうち、最長のものは
[0, 10, 20, 30]
となる。
この等差数列の長さは
4
なので、
4
を出力すればよい。
11112222
( 重複がある )
や
12abcd9
( 整列済みになっていない )
、
零壱弐参
( 0〜9、a〜z に当てはまらない )
など ) に対処する必要はない。
# | 入力 | 期待 | 最長等差数列 |
---|---|---|---|
0 |
12345abcz
|
5
|
12345
|
1 |
012abku
|
4
|
0aku
|
2 |
01245689cdeghik
|
6
|
048cgk
|
3 |
0
|
1
|
0
|
4 |
m
|
1
|
m
|
5 |
01
|
2
|
01
|
6 |
az
|
2
|
az
|
7 |
0az
|
2
|
0a
他 2 件
|
8 |
0ak
|
3
|
0ak
|
9 |
05ak
|
3
|
05a
他 1 件
|
10 |
01349acdrsuv
|
2
|
01
他 65 件
|
11 |
01245789efgipqstux
|
3
|
012
他 31 件
|
12 |
0123456789abcdefghijklmnopqrstuvwxyz
|
36
|
0123456789abcdefghijklmnopqrstuvwxyz
|
13 |
02468acegikmoqsuwy
|
18
|
02468acegikmoqsuwy
|
14 |
0369cfilorux
|
12
|
0369cfilorux
|
15 |
048cgkosw
|
9
|
048cgkosw
|
16 |
05afkpuz
|
8
|
05afkpuz
|
17 |
0123456789abcdefghjklmnopqrstuvwxyz
|
18
|
0123456789abcdefgh
他 1 件
|
18 |
0123456789bcdefghijklmopqrstuvwxyz
|
12
|
0369cfilorux
他 3 件
|
19 |
0156abfgklpquv
|
7
|
05afkpu
他 1 件
|
20 |
0167cdijopuv
|
6
|
06ciou
他 1 件
|
21 |
0178eflmst
|
5
|
07els
他 1 件
|
22 |
0189ghopwx
|
5
|
08gow
他 1 件
|
23 |
019aijrs
|
4
|
09ir
他 1 件
|
24 |
012567abcfghklmpqruvw
|
7
|
05afkpu
他 2 件
|
25 |
012678cdeijkopquvw
|
6
|
06ciou
他 2 件
|
26 |
012789efglmnstu
|
5
|
07els
他 2 件
|
27 |
01289aghiopqwxy
|
5
|
08gow
他 2 件
|
28 |
0129abijkrst
|
4
|
09ir
他 2 件
|
29 |
01235678abcdfghiklmnpqrsuvwx
|
7
|
05afkpu
他 3 件
|
30 |
01236789cdefijklopqruvwx
|
12
|
0369cfilorux
|
31 |
0123789aefghlmnostuv
|
5
|
07els
他 3 件
|
32 |
012389abghijopqrwxyz
|
5
|
08gow
他 3 件
|
33 |
01239abcijklrstu
|
4
|
0123
他 9 件
|
34 |
368acdknouvz
|
4
|
68ac
|
35 |
369chikmnopqruwx
|
6
|
mnopqr
|
36 |
05689cdefghijklmnopqrstvwy
|
18
|
cdefghijklmnopqrst
|
37 |
2489abdeiklrsuvwz
|
4
|
28ek
他 2 件
|
38 |
678bhijklnpqrsuvwxyz
|
6
|
hjlnpr
他 1 件
|
39 |
1246cfjkopquxz
|
5
|
fkpuz
|
40 |
123459abcefhilmotuvx
|
6
|
9cfilo
|
41 |
02578acdefikmopqsuvwxz
|
8
|
05afkpuz
他 1 件
|
42 |
135abdefghijlopstuwz
|
7
|
defghij
|
43 |
0126789fgjnotuvxy
|
5
|
29gnu
|
44 |
2345678defjkmnoqrtvwxy
|
7
|
2345678
|
45 |
02568bdemnostw
|
5
|
258be
|
46 |
145689bdfhilnqrstvwxz
|
6
|
159dhl
他 2 件
|
47 |
4aghjrtuvwxyz
|
7
|
tuvwxyz
|
48 |
158achklmqstwy
|
3
|
5ht
他 13 件
|
49 |
012346abceghjknortv
|
5
|
01234
他 2 件
|