LeetCode solutionsLeetCode李特抠得LeetCode

LeetCode--Merge Sorted Array

2017-04-19  本文已影响7人  Jun_简书

Difficulty: Easy

【题目】Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.

翻译

合并有序数组
难度系数:简单
合并两个有序数组。

// 时间复杂度n

[self getArrayA:@[@"1",@"4",@"7",@"10",@"15"] B:@[@"1",@"4",@"5",@"16",@"110"]];

- (NSArray *)getArrayA:(NSArray<NSString *> *)a B:(NSArray<NSString *> *)b {
    
    NSMutableArray *c = [[NSMutableArray alloc] init];
    int aInt = 0;
    int bInt = 0;
    for (int i = 0; i < a.count+b.count; i++) {

        if (aInt == a.count) {
            
            [c addObject:b[bInt]];
            bInt ++;
        }else if (bInt == b.count) {
            
            [c addObject:a[aInt]];
            aInt ++;
        }else {
            
            if (a[aInt].integerValue >= b[bInt].integerValue) {
                
                [c addObject:b[bInt]];
                bInt ++;
            }else {
                [c addObject:a[aInt]];
                aInt ++;
            }
        }
    }
    
    return c;
}

记住算法最重要的一点,永远先处理特殊情况。

上一篇下一篇

猜你喜欢

热点阅读