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; } } }

 

posted @ 2014-04-03 20:20  曹守鑫  阅读(236)  评论(0编辑  收藏  举报