"Contains Duplicate II" and "Merge Sorted Array"
来源:互联网 发布:apache 可以运行php吗 编辑:程序博客网 时间:2024/05/17 03:40
Contains Duplicate II:
一开始想的还是线性查找(囧),试了下超时(时间复杂度O(N^2))。看到网上说用一个大小为K的框去依次check整个数列,还是超时(时间复杂度O(N))。最后还是得祭出map,还是O(logN)查的快(囧)。主要是学到了新的map写法,以前都是用insert之类的方法,原来还可以用近似数组的方法使用map啊。
class Solution {public:bool containsNearbyDuplicate(vector<int>& nums, int k) {map<int, int> m;for (int i = 0; i < nums.size(); ++i) {if (m.find(nums[i]) != m.end() && i - m[nums[i]] <= k) return true;else m[nums[i]] = i;}return false;}};
Merge Sorted Array:
这道题有个测试用例有些问题:[0],0,[1],1。这样的话第一个数组里明明是有元素的,但是给定的m==0,打破了我用一个额外的vector存储nums1和nums2连接起来的结果,然后对vector做快排的幻想,但是我还是写了一份这样的代码,通不过judge,权当练习快排了。
int partition(vector<int> & a, int p, int r){int x = a[r];int i = p - 1;for (int j = p; j <= r - 1; j++){if (a[j] < x){i++;swap(a[i], a[j]);}swap(a[i + 1], a[r]);}return i + 1;}void quick_sort(vector<int> & a, int p, int r){if (p < r){int q;q = partition(a, p, r);quick_sort(a, p, q - 1);quick_sort(a, q + 1, r);}}
0 0
- "Contains Duplicate II" and "Merge Sorted Array"
- [Array]Contains Duplicate II
- Merge Sorted Array II
- Merge Sorted Array II
- LeetCode-Array-219. Contains Duplicate II
- LeetCode刷题【Array】 Contains Duplicate II
- [刷题]Merge Sorted Array II
- *[Lintcode]Merge Sorted Array II
- Contains Duplicate && Contains Duplicate II
- ※ Leetcode - Array - 219.Contains Duplicate II+217. Contains Duplicate(Map)
- 【leetcode】Array——Contains Duplicate II(219)
- [Array]Contains Duplicate
- [LeetCode]Contains Duplicate II
- Contains Duplicate II
- [LeetCode] Contains Duplicate II
- leetcode Contains Duplicate II
- LeetCode Contains Duplicate II
- [leetcode] Contains Duplicate II
- 简单实用谷歌接口获取定位地址
- 第七届省赛总结....都是泪
- 订餐系统之权限设计
- iOS 宏(define)与const的正确用法
- 【oracle】创建自增主键
- "Contains Duplicate II" and "Merge Sorted Array"
- 带有安全认证的webservice
- 简单题_用两个栈实现队列和用两个队列实现一个栈
- 订餐系统之Excel批量导入
- APP图片缓存与Glide之signature的分析
- Java - 贪心算法 - 跳跃游戏
- GPS坐标换算为百度坐标
- 【配置属性】—Entity Framework实例详解(DataAnnotations and Fluent API)
- Cxf Webservice安全认证