LeetCode练习_20170519
来源:互联网 发布:2011年网络男歌手 编辑:程序博客网 时间:2024/06/16 17:11
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)).
Example 1:
nums1 = [1, 3]nums2 = [2]The median is 2.0
Example 2:
nums1 = [1, 2]nums2 = [3, 4]The median is (2 + 3)/2 = 2.5
思路:把两个数组合并为一个,然后根据位置直接得到对应元素并计算结果(因为都是有序数组,依次比较最前面的即可)
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int n1 = nums1.size(); int n2 = nums2.size(); vector<int> nums3; vector<int>::iterator it1 = nums1.begin(); vector<int>::iterator it2 = nums2.begin(); while(!(it1 == nums1.end() && it2 == nums2.end())){ if(it1 == nums1.end()){ while(it2 != nums2.end()){ nums3.push_back(*it2); it2++; } } else if(it2 == nums2.end()){ while(it1 != nums1.end()){ nums3.push_back(*it1); it1++; } } else{ if(*it1<=*it2){ nums3.push_back(*it1); it1++; }else{ nums3.push_back(*it2); it2++; } } } //vector<int>::iterator it3 = nums3.begin(); //for(;it3!=nums3.end();it3++){ // cout<<*it3<<" "; //} if(nums3.size()%2 == 0){ float mid = nums3.size()/2 - 1; return (((float)(*(nums3.begin()+mid))+(float)(*(nums3.begin()+mid+1)))/2); }else{ float mid = nums3.size()/2; return (float)(*(nums3.begin()+mid)); } }
阅读全文
0 0
- LeetCode练习_20170519
- LeetCode练习_20170519
- leetcode练习
- leetcode练习
- leetcode练习
- leetcode练习
- LeetCode练习-简单卷
- leetcode练习题目
- leetcode练习题目
- leetcode练习题目
- leetcode练习题目
- LeetCode练习:subset
- LeetCode 练习: Subset ii
- 常见算法练习leetcode
- 【leetcode】sql练习
- leetcode练习笔记
- leetcode--TwoSum 练习
- LeetCode练习与总结
- BZOJ4300 绝世好题
- 事务+事务特性+提交事务+回滚事务+保存点
- USACO-Section1.1 Your Ride Is Here [模拟]
- HDU 1080 Human Gene Functions(LCS变形)
- Android图片加载神器之Fresco,基于各种使用场景的讲解
- LeetCode练习_20170519
- 菜鸟教你配置mac下的java环境变量
- OpenGL:GLUT库字体设置API
- TCP/IP协议中的端口号
- 善良的老师 (优先队列)
- 关于caffe的序列 :用Caffe提取深度特征
- 2017春招笔试编程题-买帽子
- SimpleDateFormat是线程不安全的,怎样使用使其安全?
- [Spring Boot实战系列]