LeetCode: 26. Remove Duplicates from Sorted Array
2017-07-12 11:20
525 查看
LeetCode: 26. Remove Duplicates from Sorted Array
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 1 and 2 respectively. It doesn’t matter what you leave
beyond the new length.
自己的答案,16ms:
最快的答案,11ms:
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 1 and 2 respectively. It doesn’t matter what you leave
beyond the new length.
自己的答案,16ms:
public class Solution { public int removeDuplicates(int[] nums) { if (nums == null || nums.length == 0) { return 0; } int result = 1; int i = 1; while (i < nums.length) { if (nums[i-1] == nums[i]) { i++; continue; } nums[result] = nums[i]; result++; i++; } return result; } }
15: iload_3 16: aload_1 17: arraylength 18: if_icmpge 53 21: aload_1 22: iload_3 23: iconst_1 24: isub 25: iaload 26: aload_1 27: iload_3 28: iaload 29: if_icmpne 38 32: iinc 3, 1 35: goto 15 38: aload_1 39: iload_2 40: aload_1 41: iload_3 42: iaload 43: iastore 44: iinc 2, 1 47: iinc 3, 1 50: goto 15
最快的答案,11ms:
public class Solution { public int removeDuplicates(int[] A) { int n=A.length; if(n < 2) return n; int id = 1; for(int i = 1; i < n; ++i) if(A[i] != A[i-1]) A[id++] = A[i]; return id; } }
15: iload 4 17: iload_2 18: if_icmpge 50 21: aload_1 22: iload 4 24: iaload 25: aload_1 26: iload 4 28: iconst_1 29: isub 30: iaload 31: if_icmpeq 44 34: aload_1 35: iload_3 36: iinc 3, 1 39: aload_1 40: iload 4 42: iaload 43: iastore 44: iinc 4, 1 47: goto 15
相关文章推荐
- LeetCode 26. Remove Duplicates from Sorted Array (从有序序列里移除重复项)
- LeetCode 26. Remove Duplicates from Sorted Array(java)
- leetcode--26. Remove Duplicates from Sorted Array
- [LeetCode-26] Remove Duplicates from Sorted Array(移除数组重复元素)
- LeetCode 26: Remove Duplicates from Sorted Array
- 26 leetcode - Remove Duplicates from Sorted Array
- leetCode26 Remove Duplicates from Sorted Array(移除多余的重复数组元素)
- [leetcode 26] Remove Duplicates from Sorted Array
- Leetcode: 26. Remove Duplicates from Sorted Array
- LeetCode26/27/80/75 Remove Duplicates from Sorted Array I and II/Remove Element/Set Colors**
- 【LeetCode 26】Remove Duplicates from Sorted Array(Python)
- Leetcode 26 Remove Duplicates from Sorted Array STL
- leetcode 26 Remove Duplicates from Sorted Array
- [LeetCode]26. Remove Duplicates from Sorted Array
- Leetcode:26. Remove Duplicates from Sorted Array(JAVA)
- leetcode题解-26. Remove Duplicates from Sorted Array && 27. Remove Element
- Leetcode 26 - Remove Duplicates from Sorted Array
- LeetCode26:Remove Duplicates from Sorted Array
- LeetCode 26. Remove Duplicates from Sorted Array
- Leetcode: 26. Remove Duplicates from Sorted Array