python递归排列组合_JavaScript递归生成排列组合[已解决]

背景

我是做美团外卖的

经常会回复顾客的评价

每次都要手工打一次,太麻烦了

就想自动生成一些简单的评价,直接复制就可以了

结果真心是逻辑思维能力太差..怎么也过不了递归这一关.....试了快2个小时,还是解决不了

数组

var wordList = [

['热烈', '万分', '非常', ''],

['欢迎', '感谢', '谢谢'],

['您', '亲', '老板', '大神', ''],

['光临', '惠顾', '支持'],

['小店', '本店', '火女菜馆']

];

问题

怎么自动排列组合出来

热烈欢迎您光临小店,热烈欢迎您光临本店....非常谢谢大神支持火女菜馆

麻烦大家帮忙看看这个题怎么解

然后指出一下我究竟是哪里的问题?为什么就是想不出来怎么解这个题目,要通过哪些练习才可以自己处理这种问题呢?

这感觉就像是初中做数学题一样,就是不知道怎么办...

我的解法

虽然是解出来了,但完全是靠猜的.没有思路,要是再遇到类似的递归问题,肯定还是没有思路.

并且这个写法肯定不是最优解....还是上面的问题.请大家指教一下

function combine(i, results, res) {

for (var j = 0; j < wordList[i].length; j++) {

var temp = res;

res += wordList[i][j];

if (wordList[i + 1]) combine(i + 1, results, res);

else {

results.push(res);

}

res = temp;

}

}

var results = [];

combine(0, results, '');

console.log(results);

看样子只适合做业务层面的浅编程啦...稍微要涉及到算法的东西都理解的很困难,一楼的那个效率要高好多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值