leetcode 브러시는 제목 요소를 제거 -27-

문제 설명

배열 nums 및 값 발을 감안할 때, 당신은 제거 후 배열의 새 길이를 모두 같은 값을 제거하는 요소를 배치해야 발하고 돌아갑니다.

배열을위한 여분의 공간을 사용하지 마십시오, 당신은 장소에 입력 배열을 수정하고 사용 O (1) 여분의 공간의 조건을 완료해야합니다.

요소의 순서가 변경 될 수 있습니다. 당신은 새로운 배열의 길이 뒤의 요소를 넘어 고려해야 할 필요가 없습니다.

주어 nums = [3,2,2,3], 발 = 3,

기능 (2)의 새로운 길이를 반환해야하고, 제 1 두 요소 nums 2이다.

당신은 새로운 배열의 길이 뒤의 요소를 넘어 고려해야 할 필요가 없습니다.

실현

단일 포인터 이동, 현재 값, 포인터가 삭제 현재 요소를 움직이지 않는 포인터가 후퇴되면, 목표 값, 현재 값이 목표 값과 같은 동일하지 않은 배열 길이 빼기 한

def remove_element(nums, val):

    nums_len = len(nums)
    index = 0

    while(index != nums_len):
        if(nums[index] == val):
            del(nums[index])
            nums_len -= 1
        else:
            index += 1

    return nums_len


nums = [3, 2, 2, 3]
val = 3

result = remove_element(nums, val)
print(result)

개요

루프는 루프보다 동안 종종, 경계 값이 결정되는 인덱스 값은 쉽게 설정

추천

출처www.cnblogs.com/liuheblog/p/12296392.html