zoukankan      html  css  js  c++  java
  • leetcode-26-删除排序数组中的重复项

    leetcode-26-删除排序数组中的重复项

    原题链接:删除排序数组中的重复项


    人一我十, 人十我百,追逐青春的梦想,怀着自信的心,永不言弃!


    分析

    由于是一个有序数组,并且题目中要求我们使用(O(1)) 的空间复杂度来解决此问题,那么我们可以申请只需要申请一个id变量作为新数组的索引即可,同时我们利用利用一个(pre)变量记录每一个出现的不同的数字

    我们只需要挨个遍历数组中的元素,每遇到一个不同的数字就进行变量切换。同时覆盖之前的元素即可。

    经验/总结

    • 在Go语言中不可以像C/C++ 一样直接进行类似于nums[id++]的操作,必须进行分解

    • 多个变量赋值时采用(a , b := 0 , 0) 的赋值方式更为简便

    • 同时leetcode的大多数问题应该注意空数组/空集合的特殊情况

    AC 代码

    code

    func removeDuplicates(nums []int) int {
        if len(nums) == 0{
            return 0;
        }
        pre , id := nums[0] , 1
        for i := 1;i < len(nums); i++{
            if nums[i] != pre{
                nums[id] = nums[i];
                pre = nums[i]
                id++;
            }
        }
        return id;
    }
    
  • 相关阅读:
    RSA使用
    C#获取主机信息
    NSIS打包软件使用
    C#获取局域网主机
    C#实现Web链接启动应用程序
    4.布局介绍
    Server Sql 多表查询、子查询和分页
    C# File类常用方法
    Vue 使用技巧手记
    前端面试题手记
  • 原文地址:https://www.cnblogs.com/wlw-x/p/13974974.html
Copyright © 2011-2022 走看看