> Java > java지도 시간 > 자바의 스택에서 모든 요소를 ​​삭제하십시오

자바의 스택에서 모든 요소를 ​​삭제하십시오

Patricia Arquette
풀어 주다: 2025-02-07 11:32:09
원래의
284명이 탐색했습니다.

Delete all even elements from a stack in Java 이 튜토리얼은 Java 스택에서 짝수를 제거하는 두 가지 방법을 보여줍니다. 최후의 첫 번째 출력 (LIFO) 원칙을 준수하는 스택은 이러한 유형의 필터링에 대한 고유 한 과제를 제시합니다. 여기에 표시된 기술은 단순히 짝수를 제거하는 것 외에 다른 필터링 시나리오에 적응할 수 있습니다. 문제 :

정수 스택이 주어지면 모든 짝수를 제거하기 위해 Java 프로그램을 작성하십시오. 예제 입력 및 출력 :

입력 1 :

출력 1 :

입력 2 :

출력 2 :

(제거 할 숫자조차 없음) 솔루션 접근 :

우리는 두 가지 뚜렷한 접근법을 탐구 할 것입니다 :
  • 보조 스택 사용 : 이 메소드는 원래 스택을 통해 반복하는 동안 홀수를 저장하기 위해 임시 스택을 사용합니다. [1, 2, 3, 4, 5] 재귀 사용 : 이 재귀 접근법은 스택을 효율적으로 처리하여 재귀 호출 중에 짝수를 제거합니다. [1, 3, 5] 메소드 1 : 보조 스택 이 접근법은 다음과 같은 단계를 포함합니다 :
  • 임시
  • (예 : ) 원래 스택을 통해 반복하여 각 요소를 팝업합니다 요소가 홀수 인 경우 (모듈로 연산자 를 사용하여 확인) 에 눌러 원래 스택이 비어 있으면 [1, 7, 3, 11, 9]에서 원래 스택으로 전송 요소를 전송합니다. 코드 예제 (보조 스택) : [1, 7, 3, 11, 9] 시간과 공간 복잡성 (보조 스택) :
시간 복잡성 : o (n) - 스택을 두 번 반복합니다.

공간 복잡성 : o (n) - 입력 스택과 동일한 크기의 보조 스택을 사용합니다. 방법 2 : 재귀

이 재귀 솔루션은 짝수 숫자 제거를 우아하게 처리합니다

기본 케이스 : 스택이 비어 있으면 반환 상단 요소를 터뜨립니다.

나머지 스택을 처리하기 위해
    함수를 재귀 적으로 호출합니다. 재귀 호출 후 팝 된 요소가 홀수인지 확인하십시오. 그렇다면 스택에 다시 밀어 넣으십시오
  1. 코드 예제 (재귀) :

    시간과 공간 복잡성 (재귀) :

    시간 복잡성 :
  2. o (n) - 스택을 재귀 적으로 가로 지르십시오 공간 복잡성 : o (n) - 재귀 콜 스택은 최악의 경우 입력 스택의 크기로 증가 할 수 있습니다.
  3. 결론 :

    두 가지 메소드 모두 스택에서 짝수 숫자를 효과적으로 제거합니다. 보조 스택 접근 방식은보다 간단하지만 재귀 접근법은 JVM의 최적화에 따라 더 간결하고 잠재적으로 약간 더 효율적인 솔루션을 제공합니다. 선택은 개인 선호도와 코딩 스타일에 따라 다릅니다. 이러한 기술은 다양한 기준을 기반으로 스택을 필터 스택에 적합 할 수 있습니다.

    .

위 내용은 자바의 스택에서 모든 요소를 ​​삭제하십시오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿