
crying_boy08-10 19:20
等级
3楼
function(){
/// <summary>
/// 将传入的多个数组中相同的索引的子项拼接成数组,最后合并成一个二维数组
/// 当传入的数组不等长时,默认按传入数据的自然长度返回,但允许在最后一个参数传入true使得按最小长度返回
/// 例:Array.zip(['A', 'B', 'C'],[1, 2, 3], [true, false])
/// 返回:[["A",1,true],["B",2,false],["C",3]]
/// 例:Array.zip(['A', 'B', 'C'], [1, 2, 3], [true, false],true)
/// 返回:[["A",1,true],["B",2,false]]
/// </summary>
/// <param name="arguments">arguments</param>
/// <returns>压缩后的新数组</returns>
if(arguments.length<2){
return arguments.length==0
? []
: arguments[0];
};
var res=[],
len=[],
isSlice=!1;
_.each(Array.prototype.slice.call(arguments),function(arg,index){
if(_.is(arg,'boolean')){
isSlice=arg;
}else if(_.is(arg,'array')){
len.push(arg.length);
_.each(arg,function(value,i){
res[i]=res[i]||[];
res[i].push(value)
});
};
});
return isSlice
? res.slice(0,_.min(len,!0))
: res;
}
上面的_.each是遍历。_.is是判断数据类别
排列组合 C语言实现
crying_boy08-10 19:23
等级
4楼
不好意思js怎么把两个数组合并js怎么把两个数组合并,看错。上面给的和你的意愿是不一致的
深入分析:如何推动排列组合
KK3K200508-10 22:00
等级
5楼
你要算法还是js

算法不就是吧3个数组做乘法
2.TDD实现字符串排列组合
fd21433389008-11 00:03
等级
6楼
三个数组相乘,每个字符读入相乘
如何实现两重排列组合。
ft380715403-03 16:28
等级
7楼
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">

<title>Document</title>
</head>
<scripttype="text/javascript">
vara=;
varb=;
varc=;
varx=newArray();
x.push(a);
x.push(b);
x.push(c);
varresult=newArray(a.length*b.length*c.length);
functionpl(c,r){

varp=r.length/c.length;
for(vari=0;i<c.length;i++){
varstart=i*p;
for(varj=0;j<p;j++){
varv=r;
if(v){
r=v+"-"+c;
}else{
r=c;
}
}
}

}
for(vari=0;i<x.length;i++){
pl(x,result);
}
console.log(result);
</script>
<body>
adg,adh,adl,aeg,aeg,ael,afg,afg,afl
</body>
</html>
刚好我也是需求写了一个
Java实现排列组合
ft380715403-03 16:29
等级
8楼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script type="text/javascript">
var a = ["a","b","c"];
var b = ["d","e"];
var c = ["f"];
var x = new Array();
x.push(a);
x.push(b);
x.push(c);
var result = new Array(a.length*b.length*c.length);
function pl(c,r){
var p = r.length/c.length;
for(var i=0;i<c.length;i++){
var start = i*p;
for(var j=0;j<p;j++){
var v = r[start+j];
if(v){
r[start+j]=v+"-"+c[i];
}else{
r[start+j]=c[i];
}
}
}
}
for(var i=0;i<x.length;i++){
pl(x[i],result);
}
console.log(result);
</script>
<body>
adg,adh,adl,aeg,aeg,ael,afg,afg,afl
</body>
</html>
Python 基础——排列组合的实现
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-122091-1.html