温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

可变多维数组组合算法

发布时间:2020-09-23 01:05:53 来源:网络 阅读:1039 作者:江山风雨 栏目:开发技术

×××管家开发中在实现混合投注时使用到的高中数学组合问题,组合数是不确定的。现要求获取所有组合数据。

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的值和个数。







附件:http://down.51cto.com/data/2363370
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI