题解 | #合并两个有序的数组#

合并两个有序的数组

http://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

import java.util.*;
public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int[] arr = new int[m+n];
        //归并排序
        int i=0, j=0, k=0;
        while(i<m || j<n){
            //左半边取完,只用右半边
            if(i>=m) arr[k++] = B[j++];
            //右半边取完,只用左半边
            else if(j>=n) arr[k++] = A[i++];
            //谁小取谁
            else if(A[i]<=B[j]) arr[k++] = A[i++];
            else arr[k++] = B[j++];
        }
        for(i=0; i<m+n; i++){
            A[i] = arr[i];
        }
    }
}
全部评论

相关推荐

许愿ssp的咸鱼很不想泡池子:import python as pyhton
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务