• 【leetcode】4. Median of Two Sorted Arrays


    计算中间两个数的平均值

    没被hard难住,这题就是归并排序的应用,注意空指针

    public class Solution {
        public double findMedianSortedArrays(int[] nums1, int[] nums2) {
            int length = length(nums1) + length(nums2);
            boolean isOdd = (length & 1) == 1;
            int left = 0;
            int right = 0;
            
            int middleRight = length / 2;
            int middleLeft = isOdd ? middleRight : middleRight - 1;
            
            int middleLeftValue = 0;
            int middleRightValue = 0;
            
            for (int i = 0; i <= middleRight && i < length; ++i) {
                int leftValue = get(nums1, left);
                int rightValue = get(nums2, right);
                if (leftValue <= rightValue) {
                    left++;
                    if (i == middleLeft) {
                        middleLeftValue = leftValue;
                    }
                    if (i == middleRight) {
                        middleRightValue = leftValue;
                    }
                } else {
                    right++;
                    if (i == middleLeft) {
                        middleLeftValue = rightValue;
                    }
                    if (i == middleRight) {
                        middleRightValue = rightValue;
                    }
                }
            }
            
            return (middleLeftValue + middleRightValue) * 1.0 / 2;
        }
        
        private int length(int[] num) {
            return num == null ? 0 : num.length;
        }
        
        private int get(int[] nums, int index) {
            if (nums == null || index >= nums.length) {
                return Integer.MAX_VALUE;
            } else {
                return nums[index];
            }
        }
    }
  • 相关阅读:
    最小二乘拟合(转)good
    会议论文重新投稿算不算侵权?这肯定是所多人都遇到过的问题(转)
    吝啬的国度
    压力单位MPa、Psi和bar之间换算公式
    Oracle建立表空间和用户
    layoutSubviews总结
    C++中出现的计算机术语4
    445port入侵具体解释
    hdu
    ORM框架
  • 原文地址:https://www.cnblogs.com/lanhj/p/5373758.html
Copyright © 2020-2023  润新知