LeetCode 027 Remove Element
来源:互联网 发布:在淘宝代运营公司工作 编辑:程序博客网 时间:2024/06/08 06:23
题目要求把数组里等于某数的项都删掉。注意题目里说数组里的数字顺序可以变化。
当要删掉的数字在原数组里很少的时候,如何保证写入次数最少?我们保留两个指针(或iterator)i和j,i指向当前可以覆盖的位置,即要删掉的数所在位置;j指向当前从末尾开始第一个非需要删掉的数字的位置,每次交换i和j的内容即可。
int removeElement(vector<int>& nums, int val) { if(nums.size() == 0) return 0; auto i = nums.begin(); auto j = nums.end() - 1; while(j != i && *j == val) j--; if(*j == val) return 0; else if(i == j) return 1; while(i < j) { while(i < j && *i != val) i++; swap(*i, *j); i++; while(i < j && *j == val) j--; } while(i != nums.end() && *i != val) i++; return i - nums.begin(); }
0 0
- LeetCode 027 Remove Element
- LeetCode 027 Remove Element
- [LeetCode]027-Remove Element
- LeetCode 027 Remove Element
- LeetCode 027 Remove Element
- LeetCode 027 Remove Element
- LeetCode-027 Remove Element
- 【LeetCode OJ 027】Remove Element
- LeetCode(027) Remove Element (Java)
- leetcode 027 —— Remove Element
- leetcode之路027 Remove Element
- leetcode解题方案--027--Remove Element
- LeetCode:Remove Element
- LeetCode: Remove Element
- [Leetcode] Remove Element
- LeetCode: Remove Element
- leetcode 39: Remove Element
- [LeetCode] Remove Element
- 读取spring配置文件的方法(spring读取资源文件)
- LeetCode 026 Remove Duplicates from Sorted Array
- MyBatis入门时的一些细节问题
- NYOJ-6-喷水装置(一)
- 前台提交servlet存入数据库乱码问题
- LeetCode 027 Remove Element
- SpringMvc笔记1
- GCD串行并发队列扫盲
- GCD优先级子队列扫盲
- 总结我学过的java1。
- iOS Runloop详细介绍及应用示例(持续更新)
- GCD由浅入深学习
- iOS图解多线程
- POJ 3301 Texas Trip