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

LeetCode-C#-0004.寻找两个正序数组的中位数

0.声明

该题目来源于LeetCode
如有侵权,立马删除。
解法不唯一,如有新解法可一同讨论。

1.题目

0004寻找两个正序数组的中位数
给定两个大小分别为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 = [3,4]
输出:2.50000
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

提示:
nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106

2.代码

namespace LeetCode_0004寻找两个正序数组的中位数
{class Program{static void Main(string[] args){int[] nums1 = { 1, 2 };int[] nums2 = { 3, 4 };LeetCode_FindMedianSortArrays LFMSA = new LeetCode_FindMedianSortArrays();double d_Result = LFMSA.FindMedianSortedArrays(nums1, nums2);Console.WriteLine(d_Result);Console.ReadKey();}}class LeetCode_FindMedianSortArrays{public double FindMedianSortedArrays(int[] nums1, int[] nums2){int m = nums1.Length;int n = nums2.Length;int len = m + n;var resultIndex = len / 2;List<int> result = new List<int>(nums1);result.AddRange(nums2);result.Sort();if (len % 2 == 0){return (result[resultIndex - 1] + result[resultIndex]) / 2.0;}else{return result[resultIndex];}}}
}
http://www.lryc.cn/news/92780.html

相关文章:

  • Vue.js 中的 $emit 和 $on 方法有什么区别?
  • LAZADA平台的商品评论Python封装API接口接入文档和参数说明
  • 云原生Docker镜像管理
  • ChatGPT+小红书的8种高级玩法
  • shell脚本学习记录1(运算符)
  • vector 迭代器失效问题
  • docker使用与服务器上的可视化(ROS rviz等)
  • 最新版本Portraiture4.1中文版ps磨皮滤镜插件安装包
  • 仓储WMS对接淘宝奇门详细说明【亲测可用】
  • RFID软件:简介、功能和应用范围
  • Android 逆向之安全防护基本策略
  • 基站机房:保障通信网络稳定,如何解决安全隐患?
  • sqlmap -os-shell 使用方法
  • Go语言并发之Select多路选择操作符
  • 黄金回收小程序开发功能有哪些?
  • nginx的详解与应用
  • SpringBoot激活profiles的几种方式
  • 【Java】Java核心要点总结:58
  • 前端面试题---作用域链和原型链
  • 零售品牌私域流量池如何运营?火山引擎数智平台提供全套产品组合
  • rk3568 SD卡启动
  • English Learning - L3 作业打卡 Lesson5 Day34 2023.6.7 周三
  • 【运筹优化】最短路算法之A星算法 + Java代码实现
  • [6]PCB设计实验|认识常用元器件|电阻器|18:30~19:00
  • Webots R2021a教程
  • C++ 输出格式控制
  • 【C++】引用和右值引用
  • NodeJS MongoDB⑦
  • 情感分析实战(中文)-共现语义篇
  • 【数据结构与算法】03 队列(顺序队列--循环队列--优先级队列--链队列)