数据结构和算法LeetCode,初级算法-删除排序数组中的重复项

Posted 数据结构和算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构和算法LeetCode,初级算法-删除排序数组中的重复项相关的知识,希望对你有一定的参考价值。

截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载
下载链接https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ
提取码:6666


视频分析

LeetCode,初级算法-删除排序数组中的重复项

B站视频链接


代码部分

Java

// 双指针解决
public int removeDuplicates(int[] nums) 
    // 边界条件判断
    if (nums.length == 0)
        return 0;
    int left = 0;
    for (int right = 1; right < nums.length; right++)
        if (nums[left] != nums[right])
            nums[++left] = nums[right];
    return ++left;

c++

public:
    int removeDuplicates(vector<int>& nums) 
        if (nums.size() == 0) 
            return 0;
        int left = 0;
        for (int right = 1; right < nums.size(); right++)
        	if (nums[left] != nums[right]) 
            	nums[++left] = nums[right];
        return ++left;
    

python

    def removeDuplicates(self, nums: List[int]) -> int:
        if not nums:
            return 0

        left = 0;
        for right in range(1,len(nums)):
            if nums[left] != nums[right]:
                left += 1
                nums[left] = nums[right]
        return left + 1;

javascript

var removeDuplicates = function(nums) 
    if (nums.length == 0)
        return 0;
    let left = 0;
    
    for (let right=1; right<nums.length; right++)
    	if (nums[left] != nums[right])
        	nums[++left] = nums[right];
    return ++left;

go

func removeDuplicates(nums []int) int 
    length := len(nums)
    if length == 0 
        return 0
	
    
    left := 0
    for right := 1; right < length; right++ 
        if nums[left] != nums[right] 
            left++
            nums[left] = nums[right]
        
    
    return left+1

以上是关于数据结构和算法LeetCode,初级算法-删除排序数组中的重复项的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 算法成长之路

算法-初级-数组删除排序数组中的重复项(多语言版实现)

leetcode初级算法(数组)——从数组中删除重复项

数据结构和算法LeetCode,初级算法-13整数反转

初级算法Java

Leetcode初级算法(链表篇)