当前位置: 首页 > news >正文

vi设计手册全套案例seo点击工具帮你火21星热情

vi设计手册全套案例,seo点击工具帮你火21星热情,茂名疫情最新消息,通辽建设网站目录 1- 思路题目识别二分 2- 实现⭐4. 寻找两个正序数组的中位数——题解思路 3- ACM 实现 原题链接:4. 寻找两个正序数组的中位数 1- 思路 题目识别 识别1 :给定两个数组 nums1 和 nums2 ,找出数组的中位数 二分 思路 将寻找中位数 —…

目录

  • 1- 思路
    • 题目识别
    • 二分
  • 2- 实现
    • 4. 寻找两个正序数组的中位数——题解思路
  • 3- ACM 实现


  • 原题链接:4. 寻找两个正序数组的中位数

1- 思路

题目识别

  • 识别1 :给定两个数组 nums1nums2 ,找出数组的中位数

二分

思路

  • 将寻找中位数 ——> 寻找两个合并数组的第 K 大 (K代表中位数)

实现

  • ① 遍历两个数组 :通过比较两个数组的第 [k/2] 个元素 ,如果 numsA[k/2] < numsB[k/2] 的时候,删除 numsA 的前半部分元素。
  • ② 找剩余的k/2 个元素

其实现思路在于,始终让 nums1 为元素数量少的数组


2- 实现

4. 寻找两个正序数组的中位数——题解思路

在这里插入图片描述

class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {// 1. 长度int len1 = nums1.length;int len2 = nums2.length;// 定义 right// 排除奇、偶 影响int left = (len1+len2+1)/2;int right = (len1+len2+2)/2;return ((findK(nums1,0,len1-1,nums2,0,len2-1,left) + findK(nums1,0,len1-1,nums2,0,len2-1,right))*0.5);}public int findK(int[] nums1,int start1,int end1,int[] nums2,int start2,int end2,int k){// 始终让 nums2 最长int len1 = end1 - start1+1;int len2 = end2 - start2+1;if(len1>len2) return findK(nums2,start2,end2,nums1,start1,end1,k);// 判断if(len1==0) return nums2[start2+k-1];if(k == 1) return Math.min(nums1[start1],nums2[start2]);// 递归逻辑int i = start1 + (Math.min(len1,k/2)-1);int j = start2 + (Math.min(len2,k/2)-1);if(nums1[i] > nums2[j]){return findK(nums1,start1,end1,nums2,j+1,end2,k-(j-start2+1));}else{return findK(nums1,i+1,end1,nums2,start2,end2,k-(i-start1+1));}}
}

3- ACM 实现

public class findM {public static double findMid(int[] nums1,int[] nums2){int len1 = nums1.length;int len2 = nums2.length;int left = (len1+len2+1)/2;int right = (len1+len2+2)/2;return ((findK(nums1,0,len1-1,nums2,0,len2-1,left) + findK(nums1,0,len1-1,nums2,0,len2-1,right))*0.5);}private static double findK(int[] nums1,int start1,int end1,int[] nums2,int start2,int end2,int k){// 递归终止int len1 = end1 - start1 + 1;int len2 = end2 - start2 + 1;if(len1>len2) return findK(nums2,start2,end2,nums1,start1,end1,k);// 终止if(len1==0) return nums2[start2+k-1];if(k == 1) return Math.min(nums1[start1],nums2[start2]);// 递归int i = start1 + (Math.min(len1,k/2)-1);int j = start2 + (Math.min(len2,k/2)-1);if(nums1[i] > nums2[j]){return findK(nums1,start1,end1,nums2,j+1,end2,k - (j-start2+1));}else{return findK(nums1,i+1,end1,nums2,start2,end2,k-(i-start1+1));}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();input = input.replace("[","").replace("]","");String input2 = sc.nextLine();input2 = input2.replace("[","").replace("]","");String[] parts = input.split(",");int[] nums = new int[parts.length];for(int i = 0 ; i < nums.length;i++){nums[i] = Integer.parseInt(parts[i]);}String[] parts2 = input2.split(",");int[] nums2 = new int[parts.length];for(int i = 0 ; i < nums2.length;i++){nums2[i] = Integer.parseInt(parts2[i]);}System.out.println("结果是"+findMid(nums,nums2));}
}
http://www.hkea.cn/news/187135/

相关文章:

  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库
  • 成都网站建设市场什么是网络营销的核心
  • 深圳找人做网站廊坊优化外包
  • 衡阳市城市建设投资有限公司网站湖南企业seo优化报价
  • css做网站常用百度权重优化软件
  • 合合肥网站建设制作网站用什么软件
  • 杭州网站设计公司推荐网络推广与优化
  • 移动惠生活app下载网址荆门网站seo
  • 做网站很赚钱吗关键词自助优化
  • wordpress小工具里的用户中心南京谷歌优化
  • 网站开发中茶叶网络营销策划方案
  • 临海市住房与城乡建设规划局 网站目前最新的营销模式有哪些
  • 高校建设网站的特色如何建立一个网站