如有兴趣,微信搜索「九零后重庆崽儿」,我们一起学前端。

删除排序数组中的重复项:

说明:现阶段的解题暂未考虑复杂度问题

首发地址:

我用JS刷LeetCode | Day 8​www.brandhuang.com

Question:

Given an array nums and a value val, remove all instances of that value in-place and return the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

The order of elements can be changed. It doesn't matter what you leave beyond the new length.

中文题目:

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

Example:

给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。

个人分析:

  1. 和昨天那道题目一样,题目限制条件:「不要使用额外的数组空间,你必须在原地修改输入数组」
  2. 首先想到的方法很简单,直接 遍历数组,若数组中元素与给定值相等,则直接使用 splice 方法删除,因为数组长度减少了一个,所以遍历的序号需要减一,得到如下答案。

Answer:

var removeElement = function(nums, val) {for (let i = 0; i< nums.length; i++) {if (nums[i] == val) {nums.splice(i, 1)i--}}return nums.length
};

其他:

本题更多 JavaScript 解析,点击链接访问对应的答案:https://leetcode.com

js splice方法_我用JS刷LeetCode | Day 8相关推荐

  1. html函数splice,js splice方法怎么用?

    js splice()方法 splice() 方法用于添加或删除数组中的元素,然后返回被删除的元素. 注意:这种方法会改变原始数组. 语法:arrayObject.splice(index,howma ...

  2. js 数组倒序_我用JS刷LeetCode | Day 6 | Palindrome Number

    来公众号「九零后重庆崽儿」,我们一起学前端 回文数: 说明:现阶段的解题暂未考虑复杂度问题 首发地址: 我用JS刷LeetCode | Day 6 | Palindrome Number​www.br ...

  3. JS splice()方法

    splice() 方法用于插入.删除或替换数组的元素. 语法 arrayObject.splice(index,howmany,element1,.....,elementX) 参数 描述 index ...

  4. node.js编写网页_为Node.js编写可扩展架构

    node.js编写网页 by Zafar Saleem 通过Zafar Saleem 为Node.js编写可扩展架构 (Writing Scalable Architecture For Nodejs ...

  5. node.js中模块_在Node.js中需要模块:您需要知道的一切

    node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...

  6. dynamic 365 js 失去焦点_基于Auto.js的QQ好友动态秒赞系统

    0.脑筋急转弯 请问在什么情况下 log(10) == 10 log(20) == 20 左滑查看答案                                                c ...

  7. js list操作_使用 Node.js 实现一个命令行 todo-list(1)- 基本功能

    功能介绍 为了熟悉 Node.js,使用 Node.js 制作一个命令行小工具,项目仓库:https://github.com/FuZhouJohn/node-todo,先来介绍一下功能: 添加任务: ...

  8. Node.js Web开发_设置Node.js(1)

    电子书推荐 Multithreaded JavaScript: Concurrency Beyond the Event Loop Computers For Seniors For Dummies, ...

  9. js input 自动换行_深入Slate.js - 拯救 ContentEditble

    我们是钉钉的文档协同团队,我们在做一些很有意义的事情,其中之一就是自研的文字编辑器.为了把自研文字编辑器做好,我们调研了开源社区各种优秀编辑器,Slate.js 是其中之一(实际上,自研文字编辑器前, ...

最新文章

  1. 从事安卓开发6年,我都有哪些收获?
  2. python从入门到精通怎么样-Python 从入门到精通:一个月就够了
  3. [深度学习] 自然语言处理 --- Self-Attention(三) 知识点与源码解析
  4. 图解Sharepoint2007部署(下):安装sharepoint2007、创建sharepoint2007站点
  5. 如果数据库也有一个元宇宙,应该会是什么样子?
  6. Ubuntu 15.10 默认壁纸?
  7. Guacamole-HTML5无客户端远程桌面
  8. 信息架构:看不到不代表不存在
  9. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Segger Ozone下的使用
  10. 用计算机发射wifi经常很卡,电脑WiFi上网速度慢原因解决办法
  11. ImportError: /home/cyj/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
  12. Android摇一摇领红包
  13. 一个测试反应速度的小游戏
  14. 粒子滤波的通俗解释,傻子的搜寻策略--我的理解_拔剑-浆糊的传说_新浪博客
  15. 流量分析和强制执行ntopng
  16. 论文笔记之Efficient Estimation of Word Representations in Vector Space
  17. 聊聊Excel的大批量导入导出
  18. 在线客服系统的功能有哪些是非常重要的?
  19. Python实现图像去噪(中值去噪和均值去噪)
  20. 解析单存储库:定义、优势与挑战

热门文章

  1. Jsoup处理URLs
  2. Jsoup从元素中抽取属性 文本和HTML
  3. 鼠标悬浮改变背景颜色
  4. ddos源码 ntp_详解 NTP反射型DDos攻击
  5. python 生成图片_python生成带有表格的图片
  6. python把数据变为数据框_将Python dict转换为数据框
  7. SQL Server经典查询语句练习题及答案
  8. ndnsim r语言 ubuntu_Ubuntu14.04安装配置ndnSIM
  9. 抖音2020研究报告_抖音音乐发布2020抖音音乐生态数据报告
  10. 递归 与 动态规划 区别