首页 > 其他 > 详细

[Twitter] Generate chars and *

时间:2015-01-16 16:55:20      阅读:205      评论:0      收藏:0      [点我收藏+]

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 *

原文:http://7371901.blog.51cto.com/7361901/1604803

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!