博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]--26. Remove Duplicates from Sorted Array
阅读量:6786 次
发布时间:2019-06-26

本文共 1617 字,大约阅读时间需要 5 分钟。

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.

最开始我没看清楚题目,想着return新的长度就行,想着用空间换取时间,写的算法是

public int removeDuplicates(int[] nums) {        if (nums.length == 0)            return 0;        int j = 0;        int temp[] = new int[nums.length];        temp[j++] = nums[0];        for (int i = 0; i < nums.length - 1; i++)            if (nums[i] != nums[i + 1])                temp[j++] = nums[i + 1];        for (int i = 0; i < temp.length; i++) {            System.out.println(temp[i]);        }        return j;    }

后来仔细看题目是要把nums数组的值也要改掉

public int removeDuplicates1(int[] nums) {        if (nums.length == 0)            return 0;        int k = 0;        for (int i = 0; i < nums.length - 1; i++) {            if (nums[i] == nums[i + 1])                k++;            else                nums[i + 1 - k] = nums[i + 1];        }        for (int i = 0; i < nums.length; i++) {            System.out.println(nums[i]);        }        return nums.length - k;    }

提交成功之后,看了一下别人的算法:

public 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++;            nums[i] = nums[j];        }    }    return i + 1;}

题目比较简单,不多说,接着下一个。

转载地址:http://ckcgo.baihongyu.com/

你可能感兴趣的文章
邮件服务器软件为企业分支“搭桥”
查看>>
Windows Azure之VM的迁移之旅
查看>>
DevOps系列——Gogs和Jenkins的CI配置
查看>>
ExtJS4.2学习(php版)
查看>>
负载均衡——HAProxy
查看>>
win7 访问本机的虚拟机中centos的web项目
查看>>
批处理之播放文本文件
查看>>
windows server 2008活动目录的备份与还原
查看>>
spring boot 2.0.1.RELEASE hibernate 缓存 ehcache 详解
查看>>
关于windows7的更新update失败,windows media play安装失败的 ...
查看>>
mysql之慢查询
查看>>
我的友情链接
查看>>
linux mysql 主主同步复制
查看>>
使用 ajax json(getJSON)从服务器读取数据,在IE下不更新问题解决
查看>>
Pythonの豆瓣相册下载脚本
查看>>
linux shell4 判断登陆用户,然后重启关闭系统
查看>>
《Cisco路由器配置与管理完全手册》(第二版)前言和目录
查看>>
git 删除本地分支
查看>>
关于SQL SERVER高并发解决方案
查看>>
MAVEN进行debug过程
查看>>