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

LeetCode -- Remove Duplicates From Sorted Array 2

题目描述:


Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?


For example,
Given sorted array nums = [1,1,1,2,2,3],


Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.


移除数组中的重复元素,返回新长度。


思路:
1.two pointer方法,使用两个指针一前一后(i后,j前),初始化:i=2,j=1
2.i一直往后走,如果nums[i]不等于nums[j],或nums[i]不等nums[j-1]:nums[j]=nums[i],j往后走。
3.最后返回j+1


实现代码:


public int RemoveDuplicates(int[] nums) 
    {
        
    if(nums == null){
	    return 0;
	}
	
	var n = nums.Length;
	
	if(n < 3){
		return n;
	}
	
	var p = 1;
	for(var i = 2;i < n; i++){
		if(nums[i] != nums[p] || nums[i] != nums[p-1]){
			p ++;
			nums[p] = nums[i];
		}
	}
	
	return (p + 1);
	
    }


相关文章:

  • 好人陈虻
  • LeetCode -- Reverse Bits
  • LeetCode -- Rotate Array
  • SQL2005CLR函数扩展-天气服务
  • LeetCode -- String to Integer (atoi)
  • JavaScript 读写文件
  • LeetCode -- Subsets
  • 也谈实体验证(Entity Validation)
  • LeetCode -- Symmetric Tree
  • 越狱 第五季 Microsoft复活
  • LeetCode -- Trap Water Rain
  • leetcode -- Unique Binary Search Trees II
  • WCF中神秘的“8731“端口和“Design_Time_Addresses”
  • LeetCode -- Unique Paths II
  • LeetCode -- Valid Anagram
  • 【5+】跨webview多页面 触发事件(二)
  • 【剑指offer】让抽象问题具体化
  • Fastjson的基本使用方法大全
  • Laravel5.4 Queues队列学习
  • mongodb--安装和初步使用教程
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Phpstorm怎样批量删除空行?
  • React-flux杂记
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 开源地图数据可视化库——mapnik
  • 前言-如何学习区块链
  • 区块链共识机制优缺点对比都是什么
  • 使用common-codec进行md5加密
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 用简单代码看卷积组块发展
  • 责任链模式的两种实现
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​ubuntu下安装kvm虚拟机
  • ​插件化DPI在商用WIFI中的价值
  • #if 1...#endif
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (11)MSP430F5529 定时器B
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (黑马C++)L06 重载与继承
  • (一)Dubbo快速入门、介绍、使用
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)平衡树
  • (转载)从 Java 代码到 Java 堆
  • .gitattributes 文件
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net 生成二级域名
  • .NET建议使用的大小写命名原则
  • .net项目IIS、VS 附加进程调试
  • .NET正则基础之——正则委托
  • @JSONField或@JsonProperty注解使用
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @SpringBootApplication 包含的三个注解及其含义