×××管家开发中在实现混合投注时使用到的高中数学组合问题,组合数是不确定的。现要求获取所有组合数据。
NSArray *array1 = [NSArray arrayWithObjects:@"1", @"2", @"3", nil]; NSArray *array2 = [NSArray arrayWithObjects:@"4", @"5", nil]; NSArray *array3 = [NSArray arrayWithObjects:@"7", @"8", @"9", nil]; NSArray *array4 = [NSArray arrayWithObjects:@"10", @"11", @"12", nil]; NSArray *array5 = [NSArray arrayWithObjects:@"13", @"14", @"15", nil];
如要获取到如下数据:
{1,4,7,10,13}、{1,4,7,10,14}、{1,4,7,10,15}、
{1,4,7,11,13}、{1,4,7,11,14}、{1,4,7,11,15}、
…………………………………………………………………………………………
…………………………………………………………………………………………
array1、array2、array3........arrayn,即个数不定。
设计的数据保存结构如下:
NSMutableArray *mutArray = [NSMutableArray array]; NSArray *array1 = [NSArray arrayWithObjects:@"1", @"2", @"3", nil]; NSArray *array2 = [NSArray arrayWithObjects:@"4", @"5", nil]; NSArray *array3 = [NSArray arrayWithObjects:@"7", @"8", @"9", nil]; NSArray *array4 = [NSArray arrayWithObjects:@"10", @"11", @"12", nil]; NSArray *array5 = [NSArray arrayWithObjects:@"13", @"14", @"15", nil]; [mutArray addObject:array1]; [mutArray addObject:array2]; [mutArray addObject:array3]; [mutArray addObject:array4]; [mutArray addObject:array5];
1.新建一个控制台输出项目工程如下:
2.添加一个自己的类:MyObject 类。
1)公有函数:
- (void)matCombin:(NSArray *)array with:(NSMutableArray *)newArray;
用于接口调用。
2) 私有函数:
- (void)matCombin:(NSArray *)array withN:(int)n withDictionary:(NSMutableDictionary *)dic;
用于递归。
3)变量:
NSMutableArray *_arrayOut;
用于调用时返回需要的数据。
3.在main类中导入上述的类并初始化其对象:
NSMutableArray *newArray = [NSMutableArray array]; MyObject *myObject = [[MyObject alloc] init]; [myObject matCombin:mutArray with:newArray];
如果需要,我们可以添加一个NSLog语句,输出newArray的值和个数。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。