首页 > 其他分享 > 代码 测试用例 测试用例 测试结果 26. 删除有序数组中的重复项

代码 测试用例 测试用例 测试结果 26. 删除有序数组中的重复项

时间:2023-10-31 22:04:55浏览次数:54  
标签:26 nums int 题解 元素 测试用例 数组 expectedNums

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

  • 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
  • 返回 k 。

判题标准:

系统会用下面的代码来测试你的题解:

int[] nums = [...]; // 输入数组
int[] expectedNums = [...]; // 长度正确的期望答案

int k = removeDuplicates(nums); // 调用

assert k == expectedNums.length;
for (int i = 0; i < k; i++) {
    assert nums[i] == expectedNums[i];
}

如果所有断言都通过,那么您的题解将被 通过

 

示例 1:

2
1
2 
。

示例 2:

5
0
1
2
3
4

 

提示:

  • 1 <= nums.length <= 3 * 104
  • -104 <= nums[i] <= 104
  • nums 已按 非严格递增 排列
class Solution {
    public int removeDuplicates(int[] nums) {
        int a=1;
        for(int i=1;i<nums.length;i++){
            if(nums[i]!=nums[i-1]){
                nums[a++]=nums[i];
            }
        }
        return a;
    }
}

标签:26,nums,int,题解,元素,测试用例,数组,expectedNums
From: https://blog.51cto.com/u_16040716/8113715

相关文章

  • 【UR #26】 铁轨回收
    【UR#26】铁轨回收一道玩状态设计的超厉害题目。首先有一个经典的dp。从前到后做记录被加了\(j\)的数有\(c_j\)个。可以过\(B_n\le4\)。想要扩展一下这个做法,直接记\(S\)表示后面加数的集合。很显然会直接爆炸。但是呢,有一个很美妙的性质,就是一个位置上加的数是有......
  • 《AT_abc326_g Unlock Achievement》解题报告
    考场上压根没想到网络流,感觉这题是做过的网络流里算质量比较高的了。首先我们肯定是想直接贪心,但是发现怎么贪心都没办法,而且数据范围非常小,一般数据范围非常小,且贪心不了但又只能贪心的题就用网络流实现。考虑如何建模,首先我们发现权值有正有负,考虑最大权闭合子图,正权值连汇点,......
  • 【算法题】2826. 将三个组排序
    题目:给你一个下标从0开始长度为n的整数数组nums。从0到n-1的数字被分为编号从1到3的三个组,数字i属于组nums[i]。注意,有的组可能是空的。你可以执行以下操作任意次:选择数字x并改变它的组。更正式的,你可以将nums[x]改为数字1到3中的任意一个。你将按......
  • AT_abc326_d ABC Puzzle 题解
    AT_abc326_dABCPuzzle题解看题事实上,即使在\(N=5\)的情况下,也只有\(66240\)个网格满足「每行/每列恰好包含一个A、B和C」。——官方题解其实看到这道题,就感觉是搜索,这很显然。但是我们会发现,最最最native的搜索,是\(4^{5\times5}=2^{50}\)的。感觉不大可过,但是......
  • AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解
    AT_abc326_eRevengeof"TheSalaryofAtCoderInc."题解一道简单的概率论+动态规划题目(然而我赛时没看这道题题意有一个长度为\(n\)的序列\(A\)、一个\(n\)面骰子,掷若干次骰子,如果这一次掷骰子的点数小于等于上一次的点数,则结束。定义这若干次掷骰子的总的结果为,每次......
  • AT_abc326_f Robot Rotation 题解
    AT_abc326_fRobotRotation题解经典问题,以前遇到过一个类似的问题:[ABC082D]FTRobot。建议对比着看一看这两道题,是两种不同的思路。(那一道题不用输出方案,因此可以用bitset优化;而此题需要输出方案,因此需要双向搜索。思路注意到每次只能「左转」和「左转」。所以,偶数次走......
  • 如何将内容添加到数组中?
    内容来自DOChttps://q.houxu6.top/?s=如何将内容添加到数组中?在JavaScript中,如何将一个对象(如字符串或数字)添加到数组中?使用Array.prototype.push方法将值添加到数组的末尾://初始化数组vararr=["Hi","Hello","Bonjour"];//在数组末尾添加新值arr.push(......
  • [20231026]bbed查看索引kd_off结构的问题.txt
    [20231026]bbed查看索引kd_off结构的问题.txt--//使用bbed查看索引kd_off结构时存在问题,前面两项指向的偏移不对,从kd_off[2]算起,而且记录的是相对偏移=绝对偏移-kdxle偏移.--//遗漏的两项可以通过最大的kd_off项记录的地址+2,+4获得.--//dumpoffsetkd_off[max]+2count2--//d......
  • c# 将十进制数字转换成字节数组
    //将十进制数字转换成字节数组//由数字创建字节数组publicstaticbyte[]DecimalToByteArray(decimalsrc){//创建内存流MemoryStream,stream作为存放二进制数据的缓存using(MemoryStreamstream=newMemoryStream())......
  • 无涯教程-C语言 - 数组(Array)
    数组是一种数据结构,可以存储相同类型的元素的固定大小的顺序集合。所有数组均包含连续的内存位置,最低地址对应于第一个元素,最高地址对应于最后一个元素。声明数组要在C中声明数组,程序员可以指定元素的类型和数组所需的元素数量,如下所示-typearrayName[arraySize];这称为......