요소 제거--c 언어 구현

1390 단어 leetcodec 언어
배열 nums 지정 값 val 과 같은 값 을 제자리 에서 제거 해 야 합 니 다. val 제거 한 배열 의 새 길 이 를 되 돌려 줍 니 다.
추가 배열 공간 을 사용 하지 마 십시오.입력 배열 을 제자리 에서 수정 하고 O(1)추가 공간 을 사용 하 는 조건 에서 완성 해 야 합 니 다.
원소 의 순 서 를 바 꿀 수 있다.너 는 배열 에서 새로운 길이 뒤의 요 소 를 초과 하 는 것 을 고려 할 필요 가 없다.
예시 1:
주어진 nums=[3,2,2,3],val=3,
함 수 는 새로운 길이 2 를 되 돌려 야 하고 nums 의 앞의 두 요 소 는 모두 2 입 니 다.
너 는 배열 에서 새로운 길이 뒤의 요 소 를 초과 하 는 것 을 고려 할 필요 가 없다.예시 2:
주어진 nums=[0,1,2,2,3,0,4,2],val=2,
함 수 는 새로운 길이 5 를 되 돌려 야 하고 nums 의 다섯 가지 요 소 는 0,1,3,0,4 입 니 다.
이 다섯 개의 요 소 는 임의의 순서 가 될 수 있 음 을 주의 하 세 요.
너 는 배열 에서 새로운 길이 뒤의 요 소 를 초과 하 는 것 을 고려 할 필요 가 없다.설명:
왜 반환 수 치 는 정수 이지 만 출력 의 답 은 배열 입 니까?
입력 배열 은'인용'방식 으로 전 달 됩 니 다.이것 은 함수 에서 입력 배열 을 수정 하 는 것 이 호출 자 에 게 보 이 는 것 을 의미 합 니 다.
당신 은 내부 조작 이 다음 과 같다 고 상상 할 수 있 습 니 다.
//nums 는'인용'방식 으로 전 달 됩 니 다.즉,실제 복사 int len=removeElement(nums,val)를 하지 않 습 니 다.
//함수 에서 입력 배열 을 수정 하 는 것 은 호출 자 에 게 보 입 니 다./함수 가 돌아 오 는 길이 에 따라 배열 의 이 길이 범위 내의 모든 요 소 를 출력 합 니 다.for (int i = 0; i < len; i++) {     print(nums[i]); }
출처:스냅 백(LeetCode)링크:https://leetcode-cn.com/problems/remove-element 저작권 은 인터넷 에 귀속 된다.상업 전 재 는 정부 에 연락 하여 권한 을 부여 해 주 십시오.비 상업 전 재 는 출처 를 밝 혀 주 십시오.
int removeElement(int* nums, int numsSize, int val){
    int i;
    int temp = 0;

    for(i=0;i

좋은 웹페이지 즐겨찾기