欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS常用算法之兩個(gè)有序數(shù)組合并(要求時(shí)間復(fù)雜度為0(n))

 更新時(shí)間:2019年07月18日 11:03:31   作者:jgCho  
這篇文章主要介紹了iOS常用算法之兩個(gè)有序數(shù)組合并(要求時(shí)間復(fù)雜度為0(n)),實(shí)現(xiàn)思路是先將一個(gè)數(shù)組作為合并后的數(shù)組, 然后遍歷第二個(gè)數(shù)組的每項(xiàng)元素,需要的朋友可以參考下

思路:

常規(guī)思路:

先將一個(gè)數(shù)組作為合并后的數(shù)組, 然后遍歷第二個(gè)數(shù)組的每項(xiàng)元素, 一一對(duì)比, 直到找到合適的, 就插入進(jìn)去;

  簡單思路: 設(shè)置數(shù)組C, 對(duì)比A和B數(shù)組的首項(xiàng)元素, 找到最小的, 就放入數(shù)組C,依次進(jìn)行下去.

代碼如下:

- (NSArray *)mergeOrderArrayWithFirstArray: (NSMutableArray *)array1 secondArray: (NSMutableArray *)array2 {
  // 全為空不處理
  if (!array1.count && !array2.count) {
    return @[];
  }
  // 一個(gè)為空返回另外一個(gè)
  if (!array1.count) {
    return array2;
  }
  if (!array2.count) {
    return array1;
  }
  NSMutableArray *endArray = [NSMutableArray array];
  while (1) {
    if ([array1[0] integerValue] < [array2[0] integerValue]) {
      [endArray addObject:array1[0]];
      [array1 removeObjectAtIndex:0];
    }else {
      [endArray addObject:array2[0]];
      [array2 removeObjectAtIndex:0];
    }
    if (!array1.count) {
      [endArray addObjectsFromArray:array2];
      break;
    }
    if (!array2.count) {
      [endArray addObjectsFromArray:array1];
      break;
    }
  }
  return endArray;
}

執(zhí)行代碼, 輸入輸出結(jié)果如下:


總結(jié)

以上所述是小編給大家介紹的iOS常用算法之兩個(gè)有序數(shù)組合并(要求時(shí)間復(fù)雜度為0(n)),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論