一个合并有序数组的算法题
2017-06-06 12:52
155 查看
浏览脉脉的时候,有个匿名帖子,据说是去面试,人家给出的算法题:
合并两个有序数组,如代码所示那种,合并以后保持有序。
趁着午间休息,写了一下:
合并两个有序数组,如代码所示那种,合并以后保持有序。
趁着午间休息,写了一下:
public static void testMergeSequentialArray() { int[] b1 = {1, 3, 9, 11}; int[] b2 = {2, 3, 8, 10, 12}; int n1 = 0; int n2 = 0; int nFinal = 0; int[] finalArr = new int[b1.length + b2.length]; while (nFinal < finalArr.length) { int temp2 = n2 < b2.length ? b2[n2] : -1; int temp1 = n1 < b1.length ? b1[n1] : temp2; if (temp1 < temp2) { finalArr[nFinal] = temp1; n1++; } else { finalArr[nFinal] = temp2; n2++; } nFinal++; Log.i(TAG, "nFinal is " + nFinal + " ..n1 is " + n1 + " ..n2 is " + n2); printArray(finalArr); } } public static void printArray(int[] a){ StringBuffer s = new StringBuffer(); for (int i = 0; i < a.length; i++) { s.append(a[i]).append(" "); } Log.i(TAG, "finalArr=" + s); }
相关文章推荐
- leetcode:Merge Sorted Array(合并两个有序数组到其中一个数组中)【面试算法题】
- 算法 - 合并两个有序数组成一个有序数组
- 算法 - 两个有序数组合并成一个有序数组
- 算法题:合并N个长度为L的有序数组为一个有序数组(JAVA实现)
- 算法 - 合并两个有序数组为一个有序数组
- 算法面试题——两个有序数组,将一个数组放入另一个空间很大的数组,要求合并之后依然有序,时间复杂度要求最小,不使用额外的数组。
- 两个有序数组合并为一个有序数组
- 有序整型数组A,大小为n,请给出一个O(n)的算法,删除重复元素,O(1)空间
- 两个有序数组合并为一个有序数组
- 每天一个小算法(2)----合并两个有序链表
- 一个有序数组的混乱算法
- 两个有序数组合并为一个有序数组
- 两个有序数组合并成一个新的有序数组
- 基础算法之三: 合并两个有序数组
- 两个有序数组,合并成一个有序数组!
- 数据结构——算法之(033)(两个有序单链表合并为一个有序的单链表)
- 两个有序数组的合并算法
- 微软等数据结构+算法面试100题(5)--怎样编写一个程序,把一个有序整数数组放到二叉树中
- 两个有序数组合并成一个有序数组
- 【合并两个有序的子数组】算法实现