黑马程序员技术交流社区

标题: 遇到的一个面试题,感兴趣的来做下。 [打印本页]

作者: marswawa    时间: 2015-10-9 23:34
标题: 遇到的一个面试题,感兴趣的来做下。
NSArray *a = @[@"a1", @"a2"];
NSArray *b = @[@"b1", @"b2", @"b3"];
NSArray *c = @[a, b];
请实现一个方法实现如下打印结果:a1b1,a1b2,a1b3,a2b1,a2b2,a2b3;


作者: wjy0916    时间: 2015-10-10 00:19
功能是实现了,如果有更好的方法的话,请大家一起分享!!!

  1. int main(int argc, const char * argv[]) {
  2.     @autoreleasepool {
  3.         
  4.         NSArray *a = @[@"a1", @"a2"];
  5.         NSArray *b = @[@"b1", @"b2", @"b3"];
  6.         NSArray *c = @[a, b];
  7.         NSMutableString * mstr= [NSMutableString string];
  8.         for (int i = 0;i<c.count-1;i++) {
  9.             for (NSString *str in c[0]) {
  10.                 for (NSString *str1 in c[1]) {
  11.                     [mstr insertString:str atIndex: mstr.length];
  12.                     [mstr insertString:str1 atIndex: mstr.length];
  13.                     if ([str compare:[a lastObject]] == 0 &&[str1 compare:[b lastObject]] == 0) {
  14.                         [mstr insertString:@";" atIndex: mstr.length];
  15.                     }else{
  16.                         [mstr insertString:@"," atIndex: mstr.length];
  17.                     }
  18.                 }
  19.             }
  20.         }
  21.         NSLog(@"%@",mstr);
  22.     }
  23.     return 0;
  24. }
复制代码




作者: 我是刘通    时间: 2015-10-10 09:36
其实黑马的学生都是想靠自己的双手来改变自己现在的现状,都想享受自己的未来,我们必须努力
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            
            NSArray *a = @[@"a1", @"a2"];
            NSArray *b = @[@"b1", @"b2", @"b3"];
            NSArray *c = @[a, b];
            NSMutableString * mstr= [NSMutableString string];
            for (int i = 0;i<c.count-1;i++) {
                for (NSString *str in c[0]) {
                    for (NSString *str1 in c[1]) {
                        [mstr insertString:str atIndex: mstr.length];
                        [mstr insertString:str1 atIndex: mstr.length];
                        if ([str compare:[a lastObject]] == 0 &&[str1 compare:[b lastObject]] == 0) {
                            [mstr insertString:@";" atIndex: mstr.length];
                        }else{
                            [mstr insertString:@"," atIndex: mstr.length];
                        }
                    }
                }
            }
            NSLog(@"%@",mstr);
        }
        return 0;
    }
作者: 雨来    时间: 2015-10-11 15:37
视频 我还没有看完
作者: Cloud丶    时间: 2015-10-12 00:01
这是?IOS?
作者: liujun_lll    时间: 2015-10-27 00:47
是必须用到c吗?

运行结果是对了,但是不知道是不是不符合题的要求

NSArray *a = @[@"a1", @"a2"];
    NSArray *b = @[@"b1", @"b2", @"b3"];
    NSArray *c = @[a, b];
   
    NSMutableString *str = [NSMutableString stringWithString:@""];
   
    for (id obja in a)
    {
        for (id objb in b)
        {
            [str appendFormat:@"%@%@", obja, objb];
            if ([a indexOfObject:obja] == a.count - 1 && [b indexOfObject:objb] == b.count - 1)
            {
                [str appendFormat:@";"];
            }
            else
                [str appendFormat:@","];
        }
        
    }
   
    NSLog(@"%@", str);
作者: jeffdy66    时间: 2015-11-3 00:46
这个地方还没有学到,先学习别人的思路....
作者: 隔壁马良    时间: 2015-11-23 00:32
表示还看不懂
作者: 小曼_r9qDE    时间: 2015-12-7 01:08
用数组加循环解决




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2