问题描述:
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.
原问题链接:https://leetcode.com/problems/remove-duplicates-from-sorted-array/
问题分析
这个问题要求即要调整了数组里重复的元素又要返回有效个元素长度的值。想到一个简单有效的方法有时候需要花一点时间。主要的思路如下。
在所有元素都相同的情况下,它其实至少也就是有1个有效的元素。所以最开始我们应该设置表示元素个数的变量j为1。我们可以循环遍历数组,从索引1的位置开始。每次和它前面的元素比较,如果这个元素和它前面的元素不同,则nums[j] = nums[i]。同时j要增加1。这种方法相对简单一点。因为它已经针对最开始那个元素设置了1个的数量。可以简化很多复杂的判断。详细的实现见如下代码:
public class Solution { public int removeDuplicates(int[] nums) { if(nums.length < 2) return nums.length; int j = 1; for(int i = 1; i < nums.length; i++) { if(nums[i] > nums[i - 1]) nums[j++] = nums[i]; } return j; } }
相关推荐
LeetCode Remove Duplicates from Sorted Array解决方案
26.Remove_Duplicates_from_Sorted_Array删除有序数组中的重复项【LeetCode单题讲解系列
leetcode算法题主函数如何写 leetcode 每日一题 从今天开始,每天必须完成至少2题。即为保持写代码的手感,也巩固一下编码的基础知识。 2018.1.23 题目:Remove Duplicates from Sorted Array Given a sorted array,...
java lru leetcode :ice_cream: LeetCode Kindem 的个人 LeetCode ...Duplicates from Sorted Array 48 Rotate Image 53 Maximum Subarray 55 Jump Game 56 Merge Intervals 64 Minimum Path Sum 73
leetcode LeetCode 这个库用于总结leetcode中遇到的习题 常用数据结构习题总结 1.线性表 解决进度 No. Describition mark 1 Remove Duplicates from Sorted Array 2 Remove Duplicates from Sorted Array II 3 ...
leetcode 答案LeetCode LeetCode in Swift 这个Repo 用来存下我在LeetCode 解题的原始档,包含解题中遇到的错误,也包含解出AC 的答案, 以下的清单将连结到我的Github Pages 中,皆有题目中文翻译与解题的过程。...
leetcode 1004 leetcode E:简单,M:中等,H:困难 数组和字符串 217. Contains Duplicate (E) 48. Rotate Image (M) -> 2 73. Set Matrix Zeroes (M) 1. Two Sum (E) 167. Two Sum II - Input array is sorted (E)...
lru缓存leetcode leetcode 1. Two Sum 2. Add Two Numbers 3. Longest Substring Without Repeating Characters 4. Median of Two Sorted Arrays 5. Longest Palindromic Substring 7. Reverse Integer 9. ...
leetcode python 001 LeetCode 建立两个个主要资料夹(题目收集、学习内容)+一个玩整的README整理 题目 主要以Python记录于VScode上 先记录头150题 学习 以JupyterNotebook为主 纪录各种资料结构、演算法等 ...
leetcode打不开Leetcode Note Tips Tip1: Two pointer for sorted array (#Array 1. Two Sum) Tip2: Sum[i:j] = Sum[0:j] - Sum[0:i] for continuous array (# Array 560. Subarray Sum Equals K) Tip3: Knapsack ...
leetcode叫数 Leetcode Personal repository implement with Ruby 13. Roman to Integer 查表,通过从前往前筛选字符串,把代表的值一个个加起来 26. Remove Duplicates from Sorted Array 难度easy的题目。根据题目...
leetcode写题闪退 #*的多少代表此题的有意思程度 有几题第一次写的时候思绪比较混乱: *****Regular Expression Matching 2014.10.29 对于Find Minimum in Rotated Sorted Array II 和 Find Minimum in Rotated ...
leetcode 2 sum c LeetCode 帮助文档 帮助文档存放在Help文件夹下。 文件名 文件描述 链接 complexitypython.txt Python的一些常规操作的复杂度统计 题目清单 Array(数组) ID Difficulty Title Java Python 1 Easy ...
LeetCode判断字符串是否循环 LeetCode Javascript Solutions to problems on LintCode # question difficulty 1 Two Sum Easy 2 Add Two Numbers Medium 3 Longest Substring Without Repeating Characters Medium 4...
leetcode从重复数组中删除重复项 给定一个已排序的数组nums,就地删除重复项,以使每个元素仅出现一次并返回新的长度。 不要为另一个数组分配额外的空间,必须通过使用O(1)额外的内存就地修改输入数组来做到这...
Remove_Duplicates_From_Sorted_Array_II Java 中等的 88 合并排序数组 Java 简单的 121 Best_Time_To_Buy_And_Sell_Stock Java 简单的 122 Best_Time_To_Buy_And_Sell_StockII Java 简单的 125 Valid_...
Remove Duplicates from Sorted Array iii. Plus One iv. Pascal's Triangle v. Merge Sorted Array vi. Sum vii. Find Minimum in Rotated Sorted Array viii. Largest Rectangle in Histogram ix. Maximal ...
leetcode 代码Remove Duplicates from Sorted Array
Leetcode经典01背包 algo 1. 数据结构与算法 数组,链表,(串和序列) 堆,栈,队列 树,图 排序,搜索 贪心,回溯,动态规划 堆:一种完全二叉树,任意节点大于左右孩子(大顶堆) 树:二叉树,DFS,BFS 1 排序与...
O(m+n) time, O(m+n) sapce.*0026 Remove Duplicates from Sorted Array使用双指针,一个快指针,一个慢指针。开始时,两个指针都指向首元素。当两指针元素值相同时,快指针+1;当两指针元素不同时,慢