首页 > 其他分享 >中位数

中位数

时间:2024-07-08 10:09:39浏览次数:11  
标签:count int 中位数 ++ static sc new

 

import java.util.*;
​
public class Main{
    
    static int[] a;
    static int[] b;
    static  int l;
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        l = sc.nextInt();
        a = new int [l+1];
        b = new int[l+1];
        
        for(int i = 0; i < l ; i ++){
            a[i] = sc.nextInt();
        }
        for(int i = 0; i < l ; i ++){
            b[i] = sc.nextInt();
        }
        
        int mid = findmid();
        System.out.println(mid);
        
        
    }
     public static int findmid(){
        int i = 0,j=0;
        int count = 0;
        int[] c  = new  int[2*l];
        while(count < 2*l){
            if( i < l && j < l ){
                if(a[i] < b[j]){
                    c[count++] = a[i++]; 
                }else{
                    c[count++] = b[j++];
                }
            }else if(i < l){
                c[count++] = a[i++];
            }else{
                c[count++] = b[j++];
            }
        }
        
        if(count % 2 == 0){
            return c[(count - 1)/2];
        }
         return -1;
    }
}
​
​
​
​
​
​
​

标签:count,int,中位数,++,static,sc,new
From: https://www.cnblogs.com/hanlinyuan/p/18289371

相关文章

  • C++算法实践04-寻找两个正序数组的中位数
    一、题目:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nu......
  • 数理统计(数值修约、0.5修约、0.2修约、有效数字运算、平均值、中位数、极差、标准差
    数理统计(数值修约、0.5修约、0.2修约、有效数字运算、平均值、中位数、极差、标准差、变异系数)原文:数理统计(数值修约、0.5修约、0.2修约、有效数字运算、平均值、中位数、极差、标准差、变异系数)_修约到0.5怎么修约-CSDN博客一、数值修约:口诀:四舍六入五考虑,五后非零则进......
  • Leecode热题100---二分查找--4:寻找两个正序数组的中位数
    题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。解法1、暴力解法(归并)思路:合并nums1,nums2为第三个数组排序第三个数组按下标,找出中位数classSolution{public: doublefindMedianSortedArrays(vec......
  • 4. 寻找两个正序数组的中位数
    给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[1,2],nums2=......
  • 4-寻找两个正序数组的中位数
    题目:两个正序数组,找出他们的中位数(中间位置的数),算法的时间复杂度应该为O(log(m+n))。1.将两个数组组成一个新的数组,int[]allArry=newint[nums1.length+nums2.length];System.arraycopy(nums1,0,allArry,0,nums1.length);System.arraycopy(nums2,0,allArry,num......
  • 【每日一题】寻找两个正序数组的中位数
    4.寻找两个正序数组的中位数给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例......
  • 分块=-=优雅的暴力=-=中位数模版
    #include<bits/stdc++.h>//#defineintlonglong#definelllonglong#definefd(i,a,b)for(registerinti=a;i<=b;i=-~i)#definebd(i,a,b)for(registerinti=a;i>=b;i=~-i)usingnamespacestd;constintN=1e5+509,M=509,MOD=10007;intn,siz,id;......
  • 「笔记」对顶堆动态维护中位数
    目录写在前面问题思路代码例题写在最后写在前面妈的为啥我不会这个问题给定\(n\)次操作,要求动态地维护一个可重集合,每次操作为下列三种形式之一:给定参数\(x\),向集合中插入一个权值\(x\)。给定参数\(x\),删除集合中已存在的一个权值\(x\)。查询集合的中位数。要求......
  • Golang | Leetcode Golang题解之第4题寻找两个正序数组的中位数
    题目:题解:funcfindMedianSortedArrays(nums1[]int,nums2[]int)float64{iflen(nums1)>len(nums2){returnfindMedianSortedArrays(nums2,nums1)}m,n:=len(nums1),len(nums2)left,right:=0,mmedian1,median2:=0,0......
  • 中位数贪心
    中位数贪心题目1题目链接462.最小操作次数使数组元素相等II-力扣(LeetCode)题目大意给你一个长度为n的整数数组nums,返回使所有数组元素相等需要的最小操作数。在一次操作中,你可以使数组中的一个元素加1或者减1。示例输入:nums=[1,2,3]输出:2解释:只需要两次操......