题目:
Given an array and a value, 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 in place with constant memory.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
Example:
Given input array nums = [3,2,2,3], val = 3
Your function should return length = 2, with the first two elements of nums being 2.
思想:遍历数组,删除值为val的值
Python 实现:
# -*- coding:utf-8 -*-
'''
Created on 2017年5月5日
@author: ZhuangLiang
'''
class Solution(object):
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
lenth=len(nums)
i=0;
while i<lenth:
if nums[i]==val:
nums.remove(nums[i])
lenth=lenth-1
else:
i=i+1
return lenth
if __name__ == '__main__':
num=[1,1,1,2,2,3,5,5,7]
s=Solution()
print(s.removeElement(num,1))
for i in num:
print(i)
本文介绍了一个简单的算法,用于从数组中删除指定值的所有实例,并返回处理后数组的新长度。该算法采用原地删除的方式,不使用额外的存储空间,符合常数内存限制的要求。
274

被折叠的 条评论
为什么被折叠?



