• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 【每日一题】顺序去重 - 2022.5.14 [复制链接]

1#
题目描述

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

由于在某些语言中不能改变数组的长度,所以必须将结果放在数组 nums 的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。

将最终结果插入 nums 的前 k 个位置后返回 k 。

不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

题目难度:中等
题目来源:LeetCode-removeDuplicates
题目交流: 584781753
  1. ' 请将断言插件升级到 v1.1
  2. Import "SmAssert.dll"

  3. Function removeDuplicates(nums)
  4.     // 您的代码写在这里
  5. End Function


  6. SmAssert.That removeDuplicates(Array(1, 1, 2)), "=", Array(1, 2)
  7. SmAssert.That removeDuplicates(Array(0, 0, 1, 1, 1, 2, 2, 3, 3, 4)), "=", Array(0, 1, 2, 3, 4)
  8. SmAssert.That removeDuplicates(Array(7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9)), "=", Array(7, 8, 9)
复制代码

参考题解

  1. ' 请将断言插件升级到 v1.1
  2. Import "SmAssert.dll"

  3. VBSBegin
  4.     
  5.     '【作者】:神梦无痕
  6.     '【QQ】:1042207232
  7.     '【Q群】:584781753
  8.     
  9.     Function removeDuplicates(nums)
  10.         Dim i, k
  11.         
  12.         For i = 0 To UBound(nums)
  13.             If nums(i) <> nums(k) Then
  14.                 k = k + 1
  15.                 nums(k) = nums(i)
  16.             End If
  17.         Next
  18.         Redim Preserve nums(k)
  19.         removeDuplicates = nums
  20.     End Function
  21. VBSEnd


  22. SmAssert.That removeDuplicates(Array(1, 1, 2)), "=", Array(1, 2)
  23. SmAssert.That removeDuplicates(Array(0, 0, 1, 1, 1, 2, 2, 3, 3, 4)), "=", Array(0, 1, 2, 3, 4)
  24. SmAssert.That removeDuplicates(Array(7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9)), "=", Array(7, 8, 9)
复制代码






插件下载

 
【插件】神梦断言插件 SmAssert.dll,帮助开发者发现业务逻辑错误

最后编辑神梦科技 最后编辑于 2022-05-14 12:43:41
2#

qqqqqqqq

3#

学习

4#

看看

5#

按键数组能移除其中一个么,学习下

6#

,

感觉还是Table好用,数组不够灵活

7#

66666

8#

11111111111

9#

学习一下

10#

66666666+6+6+

11#

学习一下

12#

k值初始是多少

13#

,

在按键精灵里,未定义的变量,参与计算时默认为0
  1. k=0
复制代码

14#

11111111111

15#

wawawa

16#

ssssssssssss

17#

啊噶啊大哥发发嘎嘎

18#

fadsfasdfadsfdfdfadf

19#


20#

学习一下新东西。

发新话题 回复该主题