leetcode挨个儿刷150430(6):Median of Two Sorted Arrays
来源:互联网 发布:js input 选中 编辑:程序博客网 时间:2024/04/29 13:02
今天这道题在Leetcode标注的是hard,但是我觉得超级简单。很可能是自己的思路还有问题,或者复杂度还有问题吧。不过目前是满足题目要求了。后续还需要思考一下,怎么样继续优化它。加油。
题目内容:
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
题目描述:
找出两个已经排好序的vector的中位数。所谓的中位数是指:如果数组数目是奇数的话,就是中间的那个;如果是偶数的话,就是中间两个的平均值。
坑(自己私下认为的)
1,返回值是double型的,处理时要注意;
2,时间复杂度题目上有要求哈。所以不要连接两个vector,再排序。那样的话,就不符合题目要求啦。
3,边界条件需要注意。
自己的思路:
合并两个有序的vector到一个,然后依据奇偶特性取中位数。这个复杂度主要花在合并上,时间和空间的复杂度都为O(m+n)。
代码如下所示,在Leetcode上AC了的。
class Solution {public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { vector<int> total_nums; int nums1_size = nums1.size(); int nums2_size = nums2.size(); if((nums1_size <= 0) && (nums2_size <= 0)) return 0; int p = 0;//nums1的index int q = 0;//nums2的index int i = 0;//total_nums的index //以下,完成有序数组的合并 for(; i < nums1_size + nums2_size;i++) { if((p >= nums1_size)||(q >= nums2_size)) break; if(nums1[p] <= nums2[q]) { total_nums.push_back(nums1[p]); p++; } else { total_nums.push_back(nums2[q]); q++; } } if(p >= nums1_size) { while(q < nums2_size) { total_nums.push_back(nums2[q]); q++; } } else if(q >= nums2_size) { while(p < nums1_size) { total_nums.push_back(nums1[p]); p++; } } int total_nums_size = total_nums.size(); //判断是奇还是偶 if(total_nums_size%2 == 0) { return (double)(total_nums[total_nums_size / 2 - 1] + total_nums[total_nums_size / 2]) / 2.0; } else { return total_nums[total_nums_size / 2]; } } };
0 0
- leetcode挨个儿刷150430(6):Median of Two Sorted Arrays
- LeetCode: Median of Two Sorted Arrays
- LeetCode Median of Two Sorted Arrays
- leetcode 26: Median of Two Sorted Arrays
- Leetcode 4 Median of Two Sorted Arrays
- [Leetcode] Median of Two Sorted Arrays
- LeetCode 4 - Median of Two Sorted Arrays
- [LeetCode]Median of Two Sorted Arrays
- leetcode Median of Two Sorted Arrays
- LeetCode-Median of Two Sorted Arrays
- [LeetCode] Median of Two Sorted Arrays
- [LeetCode] Median of Two Sorted Arrays
- [leetcode] Median of Two Sorted Arrays
- leetcode-004:Median of Two Sorted Arrays
- Leetcode 4 Median of Two Sorted Arrays
- leetcode之 median of two sorted arrays
- 【转载】【leetcode】Median of Two Sorted Arrays
- LeetCode - Median of Two Sorted Arrays
- 欧拉工程第20题
- 华为oj之合法ip
- java的基础学习笔记1
- 互联网还没+好 机器智能+的时代快要到了
- HDU 1800 Flying to the Mars
- leetcode挨个儿刷150430(6):Median of Two Sorted Arrays
- 输入输出格式(二)
- Spring+Mybatis+Maven非web项目打包成可执行jar
- Agri-Net.(POJ-1258)(最小生成树)
- [信息论]统计分析攻击凯撒密码实现
- OMG 美语 -- Selfie! 自拍
- Hadoop学习笔记1
- nyoj题目69:数的长度
- 求解黑洞数