作者:暗淡的天2004_976 | 来源:互联网 | 2023-10-12 20:04
背景
我是做美团外卖的
经常会回复顾客的评价
每次都要手工打一次,太麻烦了
就想自动生成一些简单的评价,直接复制就可以了
结果真心是逻辑思维能力太差..怎么也过不了递归这一关.....试了快2个小时,还是解决不了
数组
1 2 3 4 5 6 7
| var wordList = [
['热烈', '万分', '非常', ''],
['欢迎', '感谢', '谢谢'],
['您', '亲', '老板', '大神', ''],
['光临', '惠顾', '支持'],
['小店', '本店', '火女菜馆']
]; |
问题
怎么自动排列组合出来
1
| 热烈欢迎您光临小店,热烈欢迎您光临本店....非常谢谢大神支持火女菜馆 |
麻烦大家帮忙看看这个题怎么解
然后指出一下我究竟是哪里的问题?为什么就是想不出来怎么解这个题目,要通过哪些练习才可以自己处理这种问题呢?
这感觉就像是初中做数学题一样,就是不知道怎么办...
我的解法
虽然是解出来了,但完全是靠猜的.没有思路,要是再遇到类似的递归问题,肯定还是没有思路.
并且这个写法肯定不是最优解....还是上面的问题.请大家指教一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function combine(i, results, res) {
for (var j = 0; 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); |
看样子只适合做业务层面的浅编程啦...稍微要涉及到算法的东西都理解的很困难,一楼的那个效率要高好多