10815번 - 숫자 카드
계속 시간초과 오류가 나서 이것저것 시도해보다가 벡터를 전역변수로 빼줬더니 통과되었습니다.
이전의 코드에서는 메인함수 안에 벡터를 선언해주고 다음과 같이 Find 함수의 매개변수로 벡터를 전달하였는데, 이게 시간복잡도에 큰 영향을 미치나요?
검색을 해봐도 벡터 기능에 대한 시간복잡도만 나오길래 질문 올립니다.
현재 코드: Find(input, start, end, middle);
이전 코드: Find(input, start, end, middle, v);
참조자가 아닌 일반 변수로 받으셨다면 재귀 호출 시마다 벡터 전체가 복사되어 새로운 벡터가 만들어지기 때문에 매우 비효율적입니다.
call by value, call by reference 로 검색해보세요
댓글을 작성하려면 로그인해야 합니다.
hdtv0218 2년 전
계속 시간초과 오류가 나서 이것저것 시도해보다가 벡터를 전역변수로 빼줬더니 통과되었습니다.
이전의 코드에서는 메인함수 안에 벡터를 선언해주고 다음과 같이 Find 함수의 매개변수로 벡터를 전달하였는데, 이게 시간복잡도에 큰 영향을 미치나요?
검색을 해봐도 벡터 기능에 대한 시간복잡도만 나오길래 질문 올립니다.
현재 코드: Find(input, start, end, middle);
이전 코드: Find(input, start, end, middle, v);