//组合算法 从M个数中取出N个数,无顺序
来源:互联网 发布:单片机的串口通讯协议 编辑:程序博客网 时间:2024/05/21 21:46
[selfmyCombineAlgorithm:MutableArray num:5];
//组合算法 从M个数中取出N个数,无顺序
-(void)myCombineAlgorithm:(NSMutableArray*)src num:(int)getnum
{
if (src.count ==0)
{
return;
}
else if(src.count < getnum)
{
return;
}
// int m = src.count;
int n = getnum;
/* 初始化 */
objLineIndex =0;
objarray = [[NSMutableArrayalloc]init];
NSMutableArray* tmp = [[NSMutableArrayalloc]init];
[selfmyCombine:src srcIndex:0i:0 n:n tmp:tmp];
// int i = objarray.count;
}
/**
* <p> 递归算法,把结果写到obj二维数组对象 </p>
* @param src
* @param srcIndex
* @param i
* @param n
* @param tmp
* @since royoan 2014-6-15 上午11:22:24
*/
-(void)myCombine:(NSMutableArray*)src srcIndex:(int)srcIndex i:(int)i n:(int)n tmp:(NSMutableArray*)tmp
{
NSArray *betslist = [self.transactionallBets];
int j;
for (j = srcIndex; j < src.count - (n -1); j++ ) {
tmp[i] = src[j];
if (n == 1) {
// objarray[objLineIndex] = tmp;//tmp为每一次产生的数组
////////////////////////////////////////////////随机组合的五个号码,同当前选择的号码比较
int maxmul = 0;
for(int i=0;i<betslist.count;i++)
{
NSString *str = [[betslist[i] valueForKey:@"betNumbersDesc"]valueForKey:@"mutableString"];
NSMutableArray * array = [str componentsSeparatedByString:@","];
int count =0;
if(array.count<tmp.count)
{
for(int i=0;i<array.count;i++)
{
for(int j=0;j<tmp.count;j++)
{
if([array[i] isEqualToString:tmp[j]])
{
count++;
}
}
}
if(count == array.count)
{
maxmul++;
}
}
else
{
for(int i=0;i<tmp.count;i++)
{
for(int j=0;j<array.count;j++)
{
if([array[j] isEqualToString:tmp[i]])
{
count++;
}
}
}
if(count == tmp.count)
{
maxmul++;
}
}
}
if(maxmul > Maxmulcount)
{
Maxmulcount = maxmul;
}
////////////////////////////////////////////////随机组合的五个号码,同当前选择的号码比较
// objLineIndex ++;
}else {
n--;
i++;
[selfmyCombine:src srcIndex:j+1i:i n:n tmp:tmp];
n++;
i--;
}
}
}
- //组合算法 从M个数中取出N个数,无顺序
- php 组合算法(从n个数中取出m个元素进行组合,不考虑排序和元素重复)
- 从大小为n的数组中取出m个数的组合
- 从m个数中任意去n个数的组合
- 从1-n中选择m个数的组合个数
- 关于从n个数中随机取出m个
- 从1到N这N个数中取M个数,将这M个数从大到小输出,将所有的组合顺序输出
- 随机数算法之从N个数中取M个数
- c++ 组合算法 - 从n中选m个数
- c++ 组合算法 - 从n中选m个数
- 从未知大小的n个数中取m个数,使各数被取出的概率相等
- 想一想如何从M个数中随机等可能的取出N个数
- OC中的组合算法 从N个数里面取M个数的组合
- 自己写的从m个数中任取n个数的组合算法
- 合算法:从m个数中选n个数的所有组合
- 输出从n个数中选m个数的所有组合
- OC----从N个数中选取M个数的组合
- 从n个数中选取m个数的所有组合
- 利用dmesg和addr2line来重现bug
- [Leetcode] Word Frequency的笔记
- aaaa
- Linux网络编程一步一步学 - 目录(汇总)zhuan
- 关于高德地图获取Key失败
- //组合算法 从M个数中取出N个数,无顺序
- 一位软件工程师的6年总结——成晓旭
- 基于HTML5 WebGL实现3D飞机叶轮旋转
- 程序显示无错误,为何运行无结果输入年月日,输出是一年中第几天
- arc 的使用小常识
- Thinkphp如何登出
- Cache Session Application
- TextView使用SpannableString设置复合文本
- UVA - 1368 DNA Consensus String