2007-02-08から1日間の記事一覧

awkで偶数行出力

偶数行出力が awk で 5B? すぐに思いついたのが 7Bだから、何か見落としているのか。 すぐ思いつくのは awk 'NR%2==0'で 7Bytes ですね。ちょっと工夫すると awk 'NR%2-1'で 6Bytes。 awk -v a=1 'a=!a'で 4Bytes なんてのも考えたけど、反則だな。 結論とし…

immutable object の slice

最近気づいたんだけど、Python の tuple や str って slice 作ったときに領域コピーされているっぽい。 つまり l = tuple(range(10000)) m = [l[i:] for i in xrange(1000)] とかやるとすごいメモリを食う感じ。list なら仕方がないかと思うんだけど、tuple …

Python で Suffix Array の構築

import codecs, re def most_long_match(a, b, array, i=1): while cmp(array[a:a+i], array[b:b+i]) == 0: i += 1 if len(array) - a == i: break return cmp(array[a:a+i], array[b:b+i]) mat = re.compile('<.+?>') fp = codecs.open('04.txt', 'r', 'utf…