Java의 ArrayList of Integers에서 최소값을 찾는 재귀 함수

Jllanes

이것은 제가 자기 학습 자바의 일부로 생각하고있는 문제입니다. 문제는 ArrayList of Integers에서 최소값을 찾는 재귀 함수를 작성하는 것 입니다. 아래에서 내 시도를 찾을 수 있습니다. 의도 한대로 작동한다고 생각하지만이 작업을 수행하는 더 좋은 방법이 있는지 궁금합니다. 모든 의견을 부탁드립니다.

public static int findMin(ArrayList<Integer> numbers){
        // Base Case
        if(numbers.size()==1){
            return numbers.get(0).intValue();
        }
    
  
        ArrayList<Integer> numbers_short = new ArrayList<Integer>(numbers);
        numbers.remove(numbers.size()-1);

        return Math.min(numbers_short.get(numbers_short.size()-1).intValue(), findMin(numbers));
    }
아연

귀하의 예는이 경우 재귀를 사용해서는 안되는 방식으로 좋지 않습니다. 그러나 어쨌든 시작 및 종료 매개 변수가있는 메서드를 사용하여 초기 배열의 일부만 분석하면 매번 배열을 복사하지 않아도됩니다.

그런 것 :


    public static int findMin(ArrayList<Integer> numbers) {
        return findMin(numbers, 0, numbers.size() - 1);
    }

    public static int findMin(ArrayList<Integer> numbers, int start, int end) {
        if (end == start)
            return numbers.get(start);
        int middle = start + (end - start) / 2;
        return Math.min(findMin(numbers, start, middle), findMin(numbers, middle + 1, end));
    }

필요한 경우 배열이 비어있는 경우 확인을 추가하십시오.

"중간"방법을 사용하는 이유는 배열을 2로 나눌 때마다 스택 오버플로의 위험을 제한하기 때문입니다. 즉, 스택 오버플로의 위험을 제한하기 때문입니다. 요소.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

for 루프를 사용하지 않고 중첩 된 목록에서 최소값을 찾는 재귀 함수

분류에서Dev

Java에서 재귀 함수 최적화

분류에서Dev

정렬 된 행렬에서 값을 찾는이 재귀 함수의 문제점은 무엇입니까?

분류에서Dev

Java의 이진 트리에서 재귀 적으로 최소값 찾기

분류에서Dev

재귀 : 재귀 함수에서 값 -1을 반환하는 방법

분류에서Dev

회문을 찾는 재귀 함수

분류에서Dev

재귀 함수 호출에서 현재 함수 값을 반환하는 방법

분류에서Dev

재귀 Racket 함수에서 런타임을 최적화하여 목록의 최대 요소를 결정하는 방법은 무엇입니까?

분류에서Dev

배열의 처음 3 개 요소에서 자음을 찾기위한 문자 배열의 재귀 함수

분류에서Dev

MATLAB에서 함수의 최소값과 최대 값 찾기

분류에서Dev

제네릭 유형에서 사용자 컨트롤을 찾는 재귀 함수

분류에서Dev

C ++ 프로젝트에서 재귀 함수 이름 목록을 찾는 방법

분류에서Dev

목록 내에서 항목을 검색하는 Python의 재귀 함수

분류에서Dev

재귀 함수의 변수는 값을 유지합니다.

분류에서Dev

배열의 최소 요소를 찾는 재귀 함수는 어떻게 작동합니까?

분류에서Dev

Java의 재귀 함수에서 특정 문자열을 반환하는 방법은 무엇입니까?

분류에서Dev

재귀에서 Python 함수 내부의 변수 값 전달

분류에서Dev

재귀 함수에서 변수의 초기 값 유지

분류에서Dev

C ++에서 재귀 적으로 벡터의 최대 값 찾기

분류에서Dev

ArrayList에서 크기가 다른 문자열의 모든 재귀 조합을 어떻게 찾을 수 있습니까? -예보기

분류에서Dev

함수가 난수의 재귀 개수에서 None을 반환하는 이유는 무엇입니까?

분류에서Dev

재귀 함수에서 putchar ()를 사용하는 문장의 역

분류에서Dev

파이썬에서 재귀 적으로 최대 값을 가진 요소 찾기

분류에서Dev

재귀 호출 중에 '정의되지 않음'을 반환하는 JS 함수

분류에서Dev

제곱근을 포함하는 재귀 함수의 런타임?

분류에서Dev

Java의 ArrayList <Double>에서 최소 및 최대 값 (최소 1 개와 최대 1 개만)을 제거하는 방법

분류에서Dev

재귀 함수는 배열 값을 반환하며 PHP의 해당 함수 외부에서 SQL 쿼리의 해당 값을 사용합니다.

분류에서Dev

사전에서 문자열을 작성하는 재귀 함수

분류에서Dev

배열 / 문자열에서 0을 지우는 재귀 함수

Related 관련 기사

  1. 1

    for 루프를 사용하지 않고 중첩 된 목록에서 최소값을 찾는 재귀 함수

  2. 2

    Java에서 재귀 함수 최적화

  3. 3

    정렬 된 행렬에서 값을 찾는이 재귀 함수의 문제점은 무엇입니까?

  4. 4

    Java의 이진 트리에서 재귀 적으로 최소값 찾기

  5. 5

    재귀 : 재귀 함수에서 값 -1을 반환하는 방법

  6. 6

    회문을 찾는 재귀 함수

  7. 7

    재귀 함수 호출에서 현재 함수 값을 반환하는 방법

  8. 8

    재귀 Racket 함수에서 런타임을 최적화하여 목록의 최대 요소를 결정하는 방법은 무엇입니까?

  9. 9

    배열의 처음 3 개 요소에서 자음을 찾기위한 문자 배열의 재귀 함수

  10. 10

    MATLAB에서 함수의 최소값과 최대 값 찾기

  11. 11

    제네릭 유형에서 사용자 컨트롤을 찾는 재귀 함수

  12. 12

    C ++ 프로젝트에서 재귀 함수 이름 목록을 찾는 방법

  13. 13

    목록 내에서 항목을 검색하는 Python의 재귀 함수

  14. 14

    재귀 함수의 변수는 값을 유지합니다.

  15. 15

    배열의 최소 요소를 찾는 재귀 함수는 어떻게 작동합니까?

  16. 16

    Java의 재귀 함수에서 특정 문자열을 반환하는 방법은 무엇입니까?

  17. 17

    재귀에서 Python 함수 내부의 변수 값 전달

  18. 18

    재귀 함수에서 변수의 초기 값 유지

  19. 19

    C ++에서 재귀 적으로 벡터의 최대 값 찾기

  20. 20

    ArrayList에서 크기가 다른 문자열의 모든 재귀 조합을 어떻게 찾을 수 있습니까? -예보기

  21. 21

    함수가 난수의 재귀 개수에서 None을 반환하는 이유는 무엇입니까?

  22. 22

    재귀 함수에서 putchar ()를 사용하는 문장의 역

  23. 23

    파이썬에서 재귀 적으로 최대 값을 가진 요소 찾기

  24. 24

    재귀 호출 중에 '정의되지 않음'을 반환하는 JS 함수

  25. 25

    제곱근을 포함하는 재귀 함수의 런타임?

  26. 26

    Java의 ArrayList <Double>에서 최소 및 최대 값 (최소 1 개와 최대 1 개만)을 제거하는 방법

  27. 27

    재귀 함수는 배열 값을 반환하며 PHP의 해당 함수 외부에서 SQL 쿼리의 해당 값을 사용합니다.

  28. 28

    사전에서 문자열을 작성하는 재귀 함수

  29. 29

    배열 / 문자열에서 0을 지우는 재귀 함수

뜨겁다태그

보관