Warning: session_start(): open(/var/lib/php/sessions/sess_bgjuheapo4f11okfetgr9k0sas, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static Pair findUsingWordTree(L tok, Map tree) {
ret findUsingWordTree(tok, tree, 0);
}
// tok = CNC
// returns (index range C to C+1, tree leaf)
static Pair findUsingWordTree(L tok, Map tree, int i) {
if (tree == null) null;
O best = null; // best leaf
int bestIndex = 0; // best index
int n = l(tok);
i |= 1; // Proceed to C token
while (i <= n) {
int j = i;
while true {
O def = tree.get("");
if (def != null) { best = def; bestIndex = j; }
if (j >= n) break;
O t = tree.get(tok.get(j));
j += 2;
if (t == null) break;
if (!t instanceof Map) ret pair(intRange(i, j-1), t); // leaf!
tree = (Map) t;
}
if (best != null) ret pair(intRange(i, bestIndex), best);
i += 2;
}
null;
}