(seqs [][]int)
| 65 | } |
| 66 | |
| 67 | func (n node) children(seqs [][]int) []*node { |
| 68 | var result []*node |
| 69 | lastVal := int(-1) |
| 70 | last := new(node) |
| 71 | for i := n.left; i < n.right; i++ { |
| 72 | if lastVal == seqs[i][n.col+1] { |
| 73 | continue |
| 74 | } |
| 75 | last.right = i |
| 76 | last = &node{ |
| 77 | row: i, |
| 78 | col: n.col + 1, |
| 79 | left: i, |
| 80 | } |
| 81 | result = append(result, last) |
| 82 | } |
| 83 | last.right = n.right |
| 84 | return result |
| 85 | } |
| 86 | |
| 87 | func addSeqs(da *DoubleArray, seqs [][]int, pos int, n node) { |
| 88 | ensureSize(da, pos) |