当前位置: 首页 > news >正文

LeetCode:26. Remove Duplicates from Sorted Array(Easy)

1. 原题链接

https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/

2. 题目要求

给定一个已经排序的整数数组nums[ ],返回除去重复元素后的数组长度

注意:不能重新创建一个数组,空间复杂度为O(1)

3. 解题思路

使用指针j来遍历数组,i用来计数。初始时,i指向nums[0],j指向nums[1]。

当nums[i] != nums[j]时,i++,且nums[i]=nums[j],从j所在元素位置继续比较。

最后返回 i+1

4. 代码实现

public class RemoveDuplicatesFromSortedArray26 {
    public static void main(String[] args) {
        int nums[] = {2, 2, 3, 4, 5, 5, 6};
        System.out.println(removeDuplicates(nums));
    }

    public static int removeDuplicates(int[] nums) {
        if (nums.length == 0) return 0;
        int i = 0;
        for (int j = 1; j < nums.length; j++) {
            if (nums[j] != nums[i]) { //不相等时i++
                i++;
                nums[i] = nums[j];
            }
        }

        return i + 1;
    }
}

 运行结果:

 

转载于:https://www.cnblogs.com/huiAlex/p/8143070.html

相关文章:

  • jvm 内存分配
  • 从Storm和Spark 学习流式实时分布式计算的设计
  • Nginx + Tomcat + HTTPS 配置原来不需要在 Tomcat 上启用 SSL 支持
  • 应用多级缓存模式支撑海量读服务
  • iOS 兼容多个有crash 收集机制的SDK
  • 37.3. HQL
  • 详细解析漏洞4个boom
  • HSRP、VRRP、ACL
  • 407. 加一
  • NoClassDefFoundError
  • 压缩打包介绍 gzip压缩工具 bzip2压缩工具
  • 数组注意事项
  • Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上
  • 阿里人工智能实验室?对,这个神秘机构即将登场
  • 马斯克又双叒叕谈AI威胁论,李开复又双叒叕反对马斯克
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 2017-09-12 前端日报
  • chrome扩展demo1-小时钟
  • flutter的key在widget list的作用以及必要性
  • JWT究竟是什么呢?
  • Laravel 中的一个后期静态绑定
  • mac修复ab及siege安装
  • Sublime text 3 3103 注册码
  • 成为一名优秀的Developer的书单
  • 从零开始学习部署
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 解析 Webpack中import、require、按需加载的执行过程
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 深入浅出webpack学习(1)--核心概念
  • 微信小程序--------语音识别(前端自己也能玩)
  • 为什么要用IPython/Jupyter?
  • 一道面试题引发的“血案”
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用简单代码看卷积组块发展
  • #1015 : KMP算法
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (2)STM32单片机上位机
  • (接口封装)
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • ***监测系统的构建(chkrootkit )
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net core 6.0 升8.0
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [2016.7 day.5] T2
  • [20171101]rman to destination.txt
  • [20171102]视图v$session中process字段含义
  • [Android Studio 权威教程]断点调试和高级调试
  • [Angular] 笔记 20:NgContent