LeetCode删除排序数组中的重复项(java)
2018-04-19 15:55
344 查看
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
示例 1:给定数组 nums = [1,1,2],
函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,2。
你不需要考虑数组中超出新长度后面的元素。
JAVA解决办法:
思路:变量i指向数组第一个值,nums[j]为nums[i]之后第一个不为num[i]的数;
判断num[i]和num[j]是否相等,如果相等,j向后移动,如果不相等,将nums[j]的值赋给nums[i]。以此类推,直至j移动到原数组最后一位。class Solution { public int removeDuplicates(int[] nums) { int size=nums.length; int i=0,j=1; if(size<=0){ return 0; } int newsize=1; while(j<size){ if(nums[i]<nums[j]){ nums[i+1]=nums[j]; i++; j++; newsize++; }else{ j++; } } return newsize; } }
相关文章推荐
- Leetcode题库-删除排序数组中的重复项(java语言版)
- Java&LeetCode 初入门——026. 删除排序数组中的重复项
- Leetcode题库-删除排序数组中的重复项 II(java语言版)
- LeetCode-探索-初级算法-数组-从排序数组中删除重复项-java
- LeetCode 26. 删除排序数组中的重复项
- LeetCode从排序数组中删除重复项
- 26. 删除排序数组中的重复项Leetcode
- leetcode之从排序数组中删除重复项
- leetcode的python实现 刷题笔记26:删除排序数组中的重复项
- 删除排序数组中的重复项--Java
- Leetcode做题日记:26. 删除排序数组中的重复项(PYTHON)
- LeetCode删除排序数组中的重复项(C语言)
- leetcode:删除排序数组中的重复项
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- LeetCode刷题-删除排序数组中的重复项 II
- LeetCode题解(python)-26. 删除排序数组中的重复项
- (LeetCode每日一刷08)删除排序数组中的重复项
- leetcode:26. 删除排序数组中的重复项(C++)
- 每日一恋 - LeetCode 26. Remove Duplicates from Sorted Array(删除排序数组中的重复项)
- 【LeetCode】[26] 删除排序数组中的重复项