面試題(1).假設(shè)兩個數(shù)組為A和B,A和B都是從小到大的順序進(jìn)行排列,生成一個有序的數(shù)組
解析:
1.我們可以直接比較兩個數(shù)組的首元素,哪個小就把這個小元素放入可變數(shù)組。
2.把小元素所在的數(shù)組中的這個元素刪除。
3.繼續(xù)比較兩個數(shù)組中的首元素,直到有一個數(shù)組為空。那么就停止進(jìn)行比較。把另外一個不空的數(shù)組元素全部放入可變數(shù)組中即可。
//實例化數(shù)組 A
NSMutableArray *arrA = [NSMutableArray arrayWithArray:@[@1,@3,@5,@7,@9,@11]];
//實例化數(shù)組 B
NSMutableArray *arrB = [NSMutableArray arrayWithArray:@[@8,@10,@17,@20,@22,@35]];
NSMutableArray *allArray = [self sortWithArrayA:arrA arrayB:arrB];
NSLog(@"%@",allArray);
- (NSMutableArray *)sortWithArrayA:(NSMutableArray *)arrA arrayB:(NSMutableArray *)arrB{
NSMutableArray *marr = [NSMutableArray array];
for(int i = 0; i< 1000; i++){
NSNumber *a = arrA[0];
NSNumber *b = arrB[0];
if ([a intValue] < [b intValue]){
[marr addObject:arrA[0]];
[arrA removeObject:arrA[0]];
}else{
[marr addObject:arrB[0]];
[arrB removeObject:arrB[0]];
}
NSLog(@"已經(jīng)循環(huán)了--->>%d次",i);
if (arrA.count == 0){
[marr addObjectsFromArray:arrB];
NSLog(@"新數(shù)組--->>%@",marr);
break;
}
if (arrB.count == 0){
[marr addObjectsFromArray:arrA];
NSLog(@"新數(shù)組---->> %@",marr);
break;
}
}
return marr;
}