dynamic programming: longest unique chars substring