leetcode WordBreak2实现算法

本文算法对于:大数据aaaaaaaaaaaaaaaaaaaaaaa;无法通过
时间越界Last executed input:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab", ["a","aa","aaa","aaaa","aaaaa","aaaaaa","aaaaaaa","aaaaaaaa","aaaaaaaaa","aaaaaaaaaa"]

public
ArrayList<String> list = new ArrayList<String>(); public void wordBreak(String s, Set<String> dict, String tmp) { if (s == null || s.length() == 0) return; int length = s.length(); int beg = 0, end = length; int index = 0; while (beg < end) { end = length - index; if (beg < end) { String str = s.substring(beg, end); if (dict.contains(str)) { if (end == length) { list.add((tmp + " " + str).trim()); } else { wordBreak(s.substring(end), dict, tmp + " " + str); } } index++; } else { break; } } }
原文地址:https://www.cnblogs.com/csxf/p/3643773.html