欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 27.移除元素

发布时间:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LeetCode 27.移除元素 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原题链接

/** @lc app=leetcode.cn id=27 lang=cpp** [27] 移除元素标签:拷贝覆盖主要思路是遍历数组nums,每次取出的数字变量为num,同时设置一个下标ans在遍历过程中如果出现数字与需要移除的值不相同时,则进行拷贝覆盖nums[ans] = num,ans自增1如果相同的时候,则跳过该数字不进行拷贝覆盖,最后ans即为新的数组长度这种思路在移除元素较多时更适合使用,最极端的情况是全部元素都需要移除,遍历一遍结束即可时间复杂度:O(n),空间复杂度:O(1)*/ #include <vector> using namespace std; class Solution { public:int removeElement(vector<int>& nums, int val) {int j =0;//即用来计数,也用来记录下标for(int i=0;i<nums.size();i++){if(nums[i] != val)nums[j++] = nums[i];}return j;} };

 

总结

以上是生活随笔为你收集整理的LeetCode 27.移除元素的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。