博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode Remove Element
阅读量:5778 次
发布时间:2019-06-18

本文共 917 字,大约阅读时间需要 3 分钟。

LeetCode解题之Remove Element


原题

删除一个数组中某一特定数值的元素。返回删除后的数组长度。

注意点:

  • 操作结束后的数字排列顺序不须要与之前同样
  • 超出返回长度的部分不须要处理

样例:

输入: nums [1, 2, 3, 4, 3, 2, 1],val = 1

输出: 5

解题思路

左右两个指针向中间靠拢,左指针找到一个等于val的值,右指针找到第一个不等于val的值。把右指针指向的值赋值给左指针。继续向中间靠拢。

AC源代码

class Solution(object):    def removeElement(self, nums, val):        """        :type nums: List[int]        :type val: int        :rtype: int        """        left = 0        right = len(nums) - 1        while left <= right:            while left <= right and nums[left] != val:                left += 1            while left <= right and nums[right] == val:                right -= 1            if left < right:                nums[left] = nums[right]                left += 1                right -= 1        return right + 1if __name__ == "__main__":    assert Solution().removeElement([1, 2, 3, 4, 3, 2, 1], 1) == 5    assert Solution().removeElement([2], 3) == 1

欢迎查看我的 () 来获得相关源代码。

转载地址:http://mqkyx.baihongyu.com/

你可能感兴趣的文章
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Kubernetes 1.11 手动安装并启用ipvs
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
sed 替换基础使用
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
oracle备份与恢复--rman
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
js原生继承之——构造函数式继承实例
查看>>
linux定时任务的设置
查看>>
[CareerCup] 13.3 Virtual Functions 虚函数
查看>>
[Angular 2] ng-model and ng-for with Select and Option elements
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>