Data update
This commit is contained in:
parent
ed705008a8
commit
0df55f9f24
2196 changed files with 32999 additions and 3075 deletions
|
|
@ -16,28 +16,9 @@ func bwt_sort (String s) { # O(n * LOOKAHEAD_LEN) space (fast)
|
|||
|
||||
func bwt_encode(String s) {
|
||||
|
||||
var bwt = bwt_sort(s)
|
||||
var ret = bwt.map {|i| s.slice(i-1, 1) }.join
|
||||
var prefix = s.slice(0, LOOKAHEAD_LEN)
|
||||
var len = prefix.len
|
||||
|
||||
var idx = 0;
|
||||
for i in (bwt) {
|
||||
|
||||
var lookahead = s.slice(i, len)
|
||||
|
||||
if (lookahead.len < len) {
|
||||
lookahead += s.slice(0, len - lookahead.len)
|
||||
}
|
||||
|
||||
if (lookahead == prefix) {
|
||||
var row = s.rotate(i)
|
||||
if (row == s) {
|
||||
break
|
||||
}
|
||||
}
|
||||
++idx
|
||||
}
|
||||
var bwt = bwt_sort(s)
|
||||
var ret = bwt.map {|i| s.slice(i-1, 1) }.join
|
||||
var idx = bwt.first_index_by { .is_zero }
|
||||
|
||||
return (ret, idx)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue