标签:interview
Question:
Given a list of string, like (a, b, c), return a list: (*, *, *), (a, *, *), (*, b, *), (*, *, c), (a, b, *), (a, * , c), (* , b, c), (a, b, c).
// NP
public List<List<String>> generate(List<String> str)
{
// Validations...
List<String> cur = new ArrayList<>(str.size());
Lists.fill(cur, "*");
List<List<String>> result = new ArrayList<>();
help(str, 0, cur, result);
return result;
}
private void help(List<String> str, int start, List<String> cur, List<List<String>> result)
{
result.add(new ArrayList<String>(cur));
if (start >= str.size())
return;
for (int i = start ; i < str.size() ; i ++)
{
cur.set(i, str.get(i));
help(str, i + 1, cur, result);
cur.set(i, "*");
}
}[Twitter] Generate chars and *
标签:interview
原文地址:http://7371901.blog.51cto.com/7361901/1604803