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

LeetCode每日一题: 移除元素(No.27)

题目:移除元素


给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
复制代码

示例:


给定 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。
复制代码

思考:


使用两个指针,一个用来循环数组,一个用来记录位置。
用j循环数组,如果nums[j]不等于val,就将nums[j]赋值给nums[i],并且i++,若相等就不做任何操作,继续循环下一个。
这样循环完毕与val相等的元素,全会被覆盖移除。
复制代码

实现:


class Solution {
public int removeElement(int[] nums, int val) {
int i = 0;
for (int j = 0; j < nums.length; j++) {
    if (nums[j] != val) {
        nums[i] = nums[j];
        i++;
    }
}
return i;
}
}复制代码

转载于:https://juejin.im/post/5cc4ff9df265da0379418129

相关文章:

  • 秒杀系统流量削峰这事儿应该怎么做?
  • jenkins测试配置
  • 20189317 《网络攻防技术》 第十周作业
  • SpringBoot RabbitMQ 集成 二 Work queues
  • 75条笑死人的知乎神回复,用60行代码就爬完了
  • Windows server 2012 利用ntdsutil工具实现AD角色转移及删除域控方法
  • Linux学习
  • 面试官:说说双亲委派模型?
  • 北京
  • yocto添加层简介
  • 渐变文件夹,一定要收下这两套超级精美的文件夹图标!
  • 博客
  • 学习python的第一天-模拟用户登录接口,输入错误三次锁定
  • 如何测量距离?ABViewer热门技术问答精选合集!
  • vue脚手架的报错
  • 230. Kth Smallest Element in a BST
  • CAP 一致性协议及应用解析
  • Fabric架构演变之路
  • HTML-表单
  • input实现文字超出省略号功能
  • Java编程基础24——递归练习
  • js递归,无限分级树形折叠菜单
  • maya建模与骨骼动画快速实现人工鱼
  • nodejs:开发并发布一个nodejs包
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React系列之 Redux 架构模式
  • 对象管理器(defineProperty)学习笔记
  • 回顾 Swift 多平台移植进度 #2
  • 前端工程化(Gulp、Webpack)-webpack
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 突破自己的技术思维
  • 详解NodeJs流之一
  • 因为阿里,他们成了“杭漂”
  • (笔试题)分解质因式
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (转) Face-Resources
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [Android View] 可绘制形状 (Shape Xml)
  • [Angular 基础] - 指令(directives)
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BeginCTF]真龙之力
  • [C++]模板与STL简介
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [codeforces] 25E Test || hash
  • [COI2007] Sabor
  • [DevOps云实践] 彻底删除AWS云资源
  • [DM复习]关联规则挖掘(下)
  • [ffmpeg] av_opt_set 解析
  • [git]git命令如何取消先前的配置
  • [leetcode 数位计算]2520. 统计能整除数字的位数
  • [LeetCode] Sort List
  • [leetcode]114. Flatten Binary Tree to Linked List由二叉树构建链表