题解 | #多数组中位数#

多数组中位数

http://www.nowcoder.com/practice/b6bb0bce88894108bfc23e9b7b012420

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param arr1 int整型一维数组 
     * @param arr2 int整型一维数组 
     * @return int整型
     */
    public int getUpMedian (int[] arr1, int[] arr2) {
        // write code here
        int k = ((arr1.length + arr2.length + 1) >> 1);
        int p1 = 0;
        int p2 = 0;
        int res = 0;
        int account = 0;
        while (p1 < arr1.length && p2 < arr2.length) {
            if (arr1[p1] <= arr2[p2]) {
                res = arr1[p1];
                p1++;
            }
            else {
                res = arr2[p2];
                p2++;
            }
            account++;
            if (account == k) {
                return res;
            }
        }
        while (account < k && p1 < arr1.length) {
            res = arr1[p1];
            account++;
            p1++;
        }
        while (account < k && p2 < arr2.length) {
            res = arr2[p2];
            account++;
            p2++;
        }
        return res;
    }
}
全部评论

相关推荐

01-15 11:05
门头沟学院 Java
华为海思 通软开发 总包大概在30左右
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务