Remove Duplicates from Sorted Array
2015-10-14 12:34
501 查看
Remove Duplicates from Sorted Array
My SubmissionsQuestion
Solution
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
For example,
Given input array nums =
[1,1,2],
Your function should return length =
2,
with the first two elements of nums being
1and
2respectively.
It doesn't matter what you leave beyond the new length.
分析:
两个指针:
1 2 2 3 3 3 4 5 5 5 5
| |
3 3
| |
public int removeDuplicates1(int[] nums) {
if (nums == null || nums.length < 1) return 0;
int curPos = 0, endPos = 1, i;
while ( endPos < nums.length) {
if (nums[curPos] != nums[endPos]) {
// for (i = curPos + 1; i < endPos && i + endPos - curPos - 1 < nums.length; i++) {
nums[++curPos] = nums[endPos++];
// }
//curPos++;
} else {
endPos++;
}
}
return curPos + 1;
}
相关文章推荐
- apk存在签名冲突
- zk master-slaver机制
- Linux硬件信息查询命令汇总
- java.util.ConcurrentModificationException的异常的出现与解决
- 【leetcode】75. Sort Colors
- Java Mail:Session、Message详解
- Creating Physical Standby Using RMAN DUPLICATE...FROM ACTIVE DATABASE执行结果
- 第七周--项目六--停车场
- 四大开源3d游戏引擎探究
- api帮助文档的制作
- c++指针
- 字节与字符区别
- [寒江孤叶丶的Cocos2d-x之旅_40]在LUA中模拟switch
- iOS开发-应用之间的跳转及通信
- 2015年10月14日之前的知识点整理汇总[MVC]
- 第七周--项目五--排队看病模拟
- Cygwin + OpenSSH FOR Windows的安装配置
- VirtualBox扩展虚拟机硬盘
- 离散数学补充
- C++的四种操作符:static_cast,dynamic_cast,reinpreter_cast,const_cast