Merge Sorted Array 合并两个有序数组 @LeetCode
来源:互联网 发布:绝食减肥知乎 编辑:程序博客网 时间:2024/05/17 23:10
题目:
合并两个有序数组
思路:
两个指针merge,注意从尾到头merge
package Level2;import java.util.Arrays;/** * Merge Sorted Array * * 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 to hold additional elements from B. The number of elements initialized in A and B are m and n respectively. * */public class S88 {public static void main(String[] args) {int[] A = {1,2,3,0,0,0,0};int[] B = {4,5,6,0,0,0};merge(A, 3, B, 3);System.out.println(Arrays.toString(A));}// 合并两个有序数组,从尾到头合并public static void merge(int A[], int m, int B[], int n) { int i = m-1, j = n-1;// i指向A的有效末尾,j指向B的有效末尾 int k = m+n-1;// k指向合并后A的末尾 // 当两个数组都有数时,比较合并 while(i>=0 && j>=0){ if(A[i] >= B[j]){ A[k] = A[i]; i--; }else{ A[k] = B[j]; j--; } k--; } // 如果有其中一个数组剩下,就直接合并 while(i >= 0){ A[k] = A[i]; i--; k--; } while(j >= 0){ A[k] = B[j]; j--; k--; } }}
public class Solution { public void merge(int A[], int m, int B[], int n) { int k = m+n-1; int i = m-1; int j = n-1; while(k >= 0){ if(i < 0){ A[k] = B[j]; j--; k--; continue; } if(j < 0){ A[k] = A[i]; i--; k--; continue; } if(A[i] >= B[j]){ A[k] = A[i]; i--; }else{ A[k] = B[j]; j--; } k--; } }}
- Merge Sorted Array 合并两个有序数组 @LeetCode
- Merge Sorted Array 合并两个有序数组
- Merge Sorted Array -- 合并两个有序数组
- Merge Sorted Array合并两个有序数组
- leetcode Merge Sorted Array 合并有序数组
- 高效合并两个有序数组(Merge Sorted Array)
- [leetcode]Merge Sorted Array (两个有序数组的合并 C语言实现)
- 【LeetCode】- Merge Sorted Array (合并有序数组).
- (每日算法)LeetCode -- Merge Sorted Array (合并有序数组)
- [LeetCode-88] Merge Sorted Array(合并有序数组)
- LeetCode Merge Sorted Array(合并有序数组)
- LeetCode 88. Merge Sorted Array(合并有序数组)
- leetcode 88. Merge Sorted Array合并有序数组
- LeetCode—Merge Sorted Array两个有序数组排序
- leetcode88---Merge Sorted Array(合并有序数组)
- 88. Merge Sorted Array 合并有序数组
- leetcode:Merge Sorted Array(合并两个有序数组到其中一个数组中)【面试算法题】
- 88. Merge Sorted Array 合并两个数组
- 正则表达式、String、StringBuilder、Java中的包装类、自动包装auto boxing
- Linux 虚拟内存和物理内存的理解
- org.springframework.web.context.ContextLoaderListener Quick Solution
- CMAKE学习笔记
- VS2010下安装OpenCV 2.4.4
- Merge Sorted Array 合并两个有序数组 @LeetCode
- android.os.NetworkOnMainThreadException异常处理
- Oracle rownum 分页, 排序
- 我是一个迷茫的计算机专业的学生
- 关于iis无权查看网页的问题
- 其它APP支持相关请回复本帖
- jQuery Mobile
- 哈希表的使用场景--大数据中的前k大 堆排序 归并
- Windows_oracle10g_2013_10_20