当前位置:网站首页>LeetCode 27. 移除元素
LeetCode 27. 移除元素
2022-08-01 04:49:00 【PUdd】
我的思路
由于数据是有范围的,则把所有需要删除的数据替换成超出范围的一个数,然后进行排序。(不清楚sort会不会导致空间复杂度不满足要求…)排完之后输出超出范围的数前面的值的个数,如果没有则会一直遍历到vector末尾然后输出个数。个数用的是iter-nums.begin()
代码
class Solution {
public:
int removeElement(vector<int>& nums, int val)
{
vector<int>::iterator iter; // 声明迭代器iter
//把等于val的值全改成很大的值(如101)
for(iter = nums.begin(); iter != nums.end(); iter++)
{
if (*iter == val)
{
iter =nums.erase(iter);
iter = nums.insert(iter,101);
}
}
//排序
sort(nums.begin(),nums.end());
//返回个数
iter = nums.begin();
while( iter!=nums.end() && (*iter)!=101 ){
iter++;}
return iter - nums.begin();
}
};
标准解法:双指针法
通过这一题学习了快慢指针的思路。本题实际上用的是数组下标。
1 3 2 1 5 2 1
快指针:i不断向后移
慢指针:碰到nums[j]==val时,就跳过;其余时间一直是nums[j]=nums[i],即快指针所指的位置。
1 3 跳过 1 5 跳过 1
代码
class Solution {
public:
int removeElement(vector<int>& nums, int val)
{
int slow = 0;
for(int fast = 0; fast < nums.size(); fast++)
{
if(nums[fast] != val)
{
nums[slow] = nums[fast];
slow++;
}
}
return slow;
}
};
边栏推荐
猜你喜欢
typescript19-对象可选参数
博客系统(完整版)
Interview Blitz 69: Is TCP Reliable?Why?
y83.第四章 Prometheus大厂监控体系及实战 -- prometheus告警机制进阶(十四)
(2022牛客多校四)K-NIO‘s Sword(思维)
Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation
Visual Studio提供的 Command Prompt 到底有啥用
UE4 从鼠标位置射出射线检测
2022-07-31: Given a graph with n points and m directed edges, you can use magic to turn directed edges into undirected edges, such as directed edges from A to B, with a weight of 7.After casting the m
万字逐行解析与实现Transformer,并进行德译英实战(一)
随机推荐
力扣(LeetCode)212. 单词搜索 II(2022.07.31)
scheduleWithFixedDelay和scheduleAtFixedRate的区别
动态规划 01背包
怀念故乡的月亮
MySQL-数据操作-分组查询-连接查询-子查询-分页查询-联合查询
万字逐行解析与实现Transformer,并进行德译英实战(二)
/etc/fstab
MySQL4
ICML2022 | Deep Dive into Permutation-Sensitive Graph Neural Networks
56:第五章:开发admin管理服务:9:开发【文件上传到,MongoDB的GridFS中,接口】;(把文件上传到GridFS的SOP)
数组问题之《下一个排列》、《旋转图像》以及二分查找之《搜索二维矩阵》
挑战52天背完小猪佩奇(第01天)
Immutable
怀念故乡的面条
typescript26 - literal types
Dynamic Programming 01 Backpack
The method of solving stored procedure table name passing through variable in mysql
故乡的素描画
What is dynamic programming and what is the knapsack problem
剑指 Offer 68 - II. 二叉树的最近公共祖先