面试经典 150 题 第三周代码
【题目链接】
80. 删除有序数组中的重复项 II
【参考代码】
双指针
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int size = nums.size();
if(size <= 2)
{
return size;
}
int slow = 2, fast = 2;
while(fast < size)
{
if(nums[slow-2] != nums[fast])
{
nums[slow] = nums[fast];
slow++;
}
fast++;
}
return slow;
}
};
【题目链接】
169. 多数元素
【参考代码】
排序后中位数就是次数最多的元素
class Solution {
public:
int majorityElement(vector<int>& nums) {
sort(nums.begin(), nums.end());
int n = nums.size();
return nums[n / 2];
}
};