LeetCode
文章平均质量分 67
冷若寒阳s
这个作者很懒,什么都没留下…
展开
-
LeetCode 27. Remove Element
按道理是很简单的题目,遍历一次,删除相关value即可,看tag说是two points,还是不造怎么用这个做。 普通的代码如下: class Solution { public: int removeElement(vector& nums, int val) { vector::iterator iter = nums.begin(); w原创 2016-02-05 15:52:59 · 214 阅读 · 0 评论 -
LeetCode 73. Set Matrix Zeroes
按照题目肯定是需要分配空间来标示某行某列是否需要全设为0。 1.最简单的方法,空间是O(m+n):分配m+n个bool空间,第一次遍历矩阵,若matrix[i][j] == 0,则把第i行和第j列设为true,在第二次遍历矩阵时,查询第i行第j列是否都是true,然后再决定matrix[i][j]是否设为0。 2.空间是O(1),只需要2个bool值bRow和bCol:用来指示原创 2016-02-05 17:17:33 · 278 阅读 · 0 评论 -
LeetCode 56. Merge Intervals
首先这道题的思路其实非常清晰,先根据Interval的start数值进行排序,用sort()函数,时间复杂度为O(nlgn),不需要自己去写快排什么的,直接调用sort(intervals.begin(), intervals.end(), cmp),再根据题目要求处理,注意[1,2],[1,4]归并得[1,4],而[1,6],[1,4]归并为[1,6],也就是要取end的较大值,调用max函数。原创 2016-02-10 14:04:05 · 245 阅读 · 0 评论 -
LeetCode 229. Majority Element II
题目要求线性时间和常量空间,网上看见都是用摩尔投票算法,算是大概想通了,记录一下。 算法思想: 1.根据题目要求,设n个候选值key和对应的次数time,初始设为0; 2.第一次遍历数组,若array[i] == key,++time; 若不等,再看time,若time == 0,则用array[i]取代key,++time; 若time != 0,则--time; 3.第二原创 2016-02-05 00:14:50 · 380 阅读 · 0 评论