LeetCode 80. Remove Duplicates from Sorted Array II

原题链接在这里:https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/

题目:

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 1122 and 3. It doesn't matter what you leave beyond the new length.

题解:

类似Remove Duplicates from Sorted Array不同就是允许一次重复,加一个limit初始为0, 当limit小于1的时可以赋值到nums[count], 同时limit++, limit等于1时跳过。

Time Complexity: O(nums.length). Space: O(1).

AC Java:

复制代码
 1 public class Solution {
 2     public int removeDuplicates(int[] nums) {
 3         if(nums == null || nums.length == 0){
 4             return 0;
 5         }
 6         
 7         int count = 1;
 8         int limit = 0;
 9         for(int i = 1; i<nums.length; i++){
10             if(nums[i] != nums[i-1]){
11                 nums[count++] = nums[i];
12                 limit = 0;
13             }else if(limit < 1){
14                 nums[count++] = nums[i];
15                 limit++;
16             }
17         }
18         return count;
19     }
20 }
复制代码

 

posted @   Dylan_Java_NYC  阅读(311)  评论(0编辑  收藏  举报
编辑推荐:
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
阅读排行:
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· Ollama系列05:Ollama API 使用指南
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
点击右上角即可分享
微信分享提示