- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java算法练习题,每天进步一点点(2)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
寻找两个正序数组的中位数 。
难度:困难 。
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 .
示例 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 。
示例 3:
输入:nums1 = [0,0], nums2 = [0,0] 。
输出:0.00000 。
示例 4:
输入:nums1 = [], nums2 = [1] 。
输出:1.00000 。
示例 5:
输入:nums1 = [2], nums2 = [] 。
输出:2.00000 。
提示:
nums1.length == m 。
nums2.length == n 。
0 <= m <= 1000 。
0 <= n <= 1000 。
1 <= m + n <= 2000 。
-106 <= nums1[i], nums2[i] <= 106 。
题目大意: 就是求中位数,如果数组有奇数个那就是求中间那个数即可,如果公有偶数个,那就是中间两个数的平均值.
解题思路: 有时候简单的思路往往可以解决问题,我们只需要在new一个长度为两个数组长度之和的空数组,然后把两个数组都放进去,然后sort一下,嗯没错直接sort就行,然后排好序后,就直接求出中间下标,判断下数组长度是不是偶数个,在分别处理即可 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* Keafmd
*
* @ClassName: FindTheMedianOfTwoPositivelyOrderedArrays
* @Description: 寻找两个正序数组的中位数
* @author: 牛哄哄的柯南
* @date: 2021-07-22 18:22
*/
class
Solution {
public
double
findMedianSortedArrays(
int
[] nums1,
int
[] nums2) {
int
l1 = nums1.length;
int
l2 = nums2.length;
int
[] num =
new
int
[l1+l2];
int
i=
0
,j=
0
;
int
k=
0
;
double
res =
0
;
while
(i<l1){
num[k++] = nums1[i++];
}
while
(j<l2){
num[k++] = nums2[j++];
}
Arrays.sort(num);
int
sum_len = l1+l2;
int
mid = sum_len/
2
;
if
(sum_len%
2
==
0
){
res = (num[mid]+num[mid-
1
])/
2.0
;
}
else
{
res = num[mid];
}
return
res;
}
}
|
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我的更多内容! 。
原文链接:https://blog.csdn.net/weixin_43883917/article/details/119023149 。
最后此篇关于Java算法练习题,每天进步一点点(2)的文章就讲到这里了,如果你想了解更多关于Java算法练习题,每天进步一点点(2)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我读取了一个大约 500MB 的大文本文件,并希望了解读取操作的进度。 为此,我现在计算文件的行数,然后将其与我已阅读的行进行比较。这需要对文件进行两次完整的迭代。使用文件大小和 fgets 缓冲区大
我正在尝试将数据从 Progress 4GL 数据库中取出,放入 SQL Server。 理想情况下,我想直接在 .NET 中执行此操作,而不是通过 ODBC 驱动程序,因为正在进行的 ODBC 驱动
我正在使用以下具有句柄的查询,但即使我删除/不删除句柄的对象,我也看不到任何反应。但是每个人都说最后总是删除对象。为什么我们需要删除它们?如果我们不删除它们会怎样?我们怎么看? finally:
我正在使用以下具有句柄的查询,但即使我删除/不删除句柄的对象,我也看不到任何反应。但是每个人都说最后总是删除对象。为什么我们需要删除它们?如果我们不删除它们会怎样?我们怎么看? finally:
我需要在一个涉及 Progress 9.1D 应用程序和 C 语言函数之间交互的项目中工作。我负责编写 C 函数,Progress 人员要求我调查是否可以发送 Progress 表并在 C 函数中将其
我是一名优秀的程序员,十分优秀!