leetcode 排序数组去重复并返回新数组长度Remove Duplicates from Sorted Array
来源:互联网 发布:邮箱都有哪些域名 编辑:程序博客网 时间:2024/05/02 04:42
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],
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.
本数组已经排序好数组,不仅仅要返回去重后长度,也要实现去重:
一开始思路:
假定数组nums在0-j之内无重复,则从j+1-numsize-1之中任意一个元素i与(0-j)比较,如都不相同则num[j+1]=num[i]
int removeDuplicates1(int* nums, int numsSize) { int i,j=0,k;int l=numsSize;for(i=1;i<numsSize;i++){ k=0; while(k<=j&&nums[k]!=nums[i])k++; if(k>j)nums[++j]=nums[i]; }numsSize=j+1; return numsSize;}后来发现时间复杂度过大o(n^2)
改变思路,利用已经排好序,相同的则是相连的:
int removeDuplicates(int* nums, int numsSize){int k=0;int i;for(i=1;i<numsSize;i++) {if(nums[i]!=nums[i-1])nums[i-k]=nums[i]; else k++; }return numsSize-k;}
0 0
- leetcode 排序数组去重复并返回新数组长度Remove Duplicates from Sorted Array
- LeetCode With JS||26.Remove Duplicates from Sorted Array[数组去重,返回去重后的长度]
- Remove Duplicates from Sorted Array有序数组去重复
- LeetCode @ Remove Duplicates from Sorted Array 数组去重
- leetcode:Remove Duplicates from Sorted Array去掉排序数组中重复的元素
- LeetCode: Remove Duplicates from Sorted Array II(在排序数组中删除重复元素)
- [leetcode 26]Remove Duplicates from Sorted Array——移除排序数组中重复元素
- LeetCode-26-Remove Duplicates from Sorted Array(消除已排序数组中的重复元素)
- leetcode 26. Remove Duplicates from Sorted Array从排序数组中移出重复元素(双指针)
- leetcode:数组:Remove Duplicates from Sorted Array
- ※ Leetcode - Array -Remove Duplicates from Sorted Array(就地有序数组去重)
- 有序数组去重(Remove Duplicates from Sorted Array )
- 【数组去重】Remove Duplicates from Sorted Array
- 【数组去重】Remove Duplicates from Sorted Array II
- leetCode 80.Remove Duplicates from Sorted Array II (删除排序数组中的重复II) 解题思路和方法
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- LeetCode 26 Remove Duplicates from Sorted Array(从已排序数组中移除重复元素)
- LeetCode 26 Remove Duplicates from Sorted Array(从已排序数组中移除重复元素)
- xilinx bit流生成错误
- HDU 4200
- 反射的一个应用场景
- Android动画详解
- trie hdu1075
- leetcode 排序数组去重复并返回新数组长度Remove Duplicates from Sorted Array
- android与JS交互
- dsp 新扣费逻辑
- Unity笔记 Graphics( 光 shader camera mesh )
- Bit Manipulation - Subsets
- LeetCode题解:Power of Two
- 新型程序设计语言:Braise语言!
- 人脸检测之Haar分类器
- Ubuntu14.04 源码安装MJPG-Streamer及使用