algorithm

프로그래밍 면접 문제

아르비스 2019. 1. 11. 13:20

프로그래밍 면접 질문

원래 게시물에 대한 포인터가있는 모든 프로그래밍 인터뷰 질문 기사의 전체 목록입니다. 총 28 개 질문이 있고 28 개가 완벽한 숫자  이므로 (도널드 크 누스 (Donald Knuth)도 언급했듯이 ) 그 질문은 멈출 수있는 좋은 장소라고 판단했습니다.

1. 배열 쌍 합
정수 배열이 주어지면 특정 값 k까지 합한 모든 쌍을 출력합니다.

2. 행렬 영역 합 (Matrix Region Sum)
행렬 내의 직사각형 영역의 정수와 좌표의 행렬이 주어진다면, 그 사각형 내부에있는 수의 합을 구하십시오. 우리의 프로그램은 동일한 행렬로부터 다른 직사각형 영역으로 여러 번 호출 될 것입니다.

3. 최대 연속 합계
정수 배열 (양수 및 음수)이 가장 큰 연속 합계를 찾습니다.

4. 요소를 누락 찾기는
음이 아닌 정수의 배열이있다. 제 2 어레이는 제 1 어레이의 요소들을 셔플 링하고 랜덤 요소를 삭제함으로써 형성된다. 이 두 배열이 주어지면 두 번째 배열에서 누락 된 요소를 찾으십시오.

5. 연결된 목록 노드 제거
정수와 정수 값의 연결 목록이 주어지면 해당 값을 포함하는 연결된 목록의 모든 노드를 삭제합니다.

6. 두 문자열 결합하기
우리는 str1, str2, str3의 3 개의 문자열 을받습니다. Str3은 str1과 str2의 문자를 각 문자열의 문자의 왼쪽에서 오른쪽 순서를 유지하는 방식으로 인터리브하여 형성 될 수 있다면 str1과 str2의 뒤섞음이라고합니다. 예를 들어 str1 = "abc"및 str2 = "def"일 때 str3 = "dabecf"는 두 문자열의 문자 순서를 유지하므로 유효한 셔플입니다. 따라서이 3 개의 문자열은 str3이 str1과 str2의 유효한 셔플인지 여부를 감지하는 함수를 작성합니다.

7. 이진 검색 트리 검사
이진 트리가 주어지면 이진 검색 트리 인지 여부를 확인하십시오.

제 단어 변형
모든 중간 단어 유효한 영어 단어하면서 한 번에 한 문자가 추가 / 삭제 / 변경함으로써 타겟 소스 단어 변환 소스 워드 대상 단어 및 영어 사전 감안. 중간 단어 수가 가장 적은 변환 체인을 반환합니다.

9. 변환 어레이
배열 주어지는 [A1은 A2, ..., aN까지, b1, b2의, ..., BN은, C1이 C2가, ...의 cn]로 변환 [A1, B1, C1, A2, B2, C2, ..., aN, bN, cN] 일정한 추가 공간을 사용하여 적절한 위치에 배치

10. 배열의 K 번째 큰 요소
정수 배열은 정렬 된 순서로 k 번째 요소를 찾습니다 (k 번째 고유 요소가 아님). 따라서 배열이 [3, 1, 2, 1, 4]이고 k가 3이면 정렬 된 순서의 세 번째 요소이기 때문에 결과는 2입니다 (그러나 세 번째 별개 요소는 3입니다).

11. 문자열의
모든 순열 주어진 문자열의 모든 순열을 생성합니다.

12. 문자열의 역 단어
입력 문자열이 주어지면 모든 단어를 반대로합니다. 명확히하기 위해 다음과 같이 입력하십시오. "인터뷰는 대단합니다!"출력 : "멋지다! 면접 "입니다. 연속적이지 않은 모든 공백 문자를 개별 단어로 간주하십시오. 단어 사이에 공백이 여러 개인 경우 단일 공백으로 줄입니다. 앞과 뒤의 공백도 모두 제거하십시오. 따라서 "CS도", "CS도", "CS도"또는 "CS도"에 대한 출력은 모두 "학위 CS"입니다.

13. 정수 스트림
의 중간 값 정렬되지 않은 정수의 스트림이 주어지면 주어진 시간에 정렬 된 순서로 중앙 요소를 찾습니다. 그래서, 우리는 임의의 순서로 연속적인 숫자의 수열을 받게 될 것이고 우리는 미리 스트림의 길이를 알지 못합니다. 이미 수신 된 숫자의 중앙값을 언제든지 효율적으로 찾는 함수를 작성하십시오. 중간 값을 여러 번 찾아야합니다. 리콜하기 위해, 중간 값은 홀수 길이의 정렬 된 배열에서 중간 요소이며, 짝수의 경우 중간 요소의 평균입니다.

14. 균형 괄호 확인
여는 괄호와 닫는 괄호의 문자열이 주어지면 균형이 맞는지 확인하십시오 . 괄호에는 둥근 괄호 (), 대괄호 ([]), 중괄호 ({}의 세 가지 유형이 있습니다. 문자열에 이들 이외의 다른 문자가 없으며 공백이없는 단어 나 숫자가 있다고 가정합니다. 생각 나게하기 위해 균형 잡힌 괄호는 모든 여는 괄호가 역순으로 닫히도록 요구합니다. 예를 들어 '([])은 균형을 이루지 만'([)] '은 균형이 맞지 않습니다.

 15. 문자열
에서 처음으로 반복되지 않는 문자 주어진 문자열에서 처음으로 반복되지 않는 (고유 한) 문자를 찾습니다.

16. Anagram Strings
두 개의 문자열이 주어 졌을 때, 그것이 anagrams인지 아닌지 확인하십시오. 두 개의 문자열은 동일한 정확한 문자를 사용하여 작성되고 공간, 구두점 및 대문자를 무시하면 아나그램입니다. 각 문자는 두 문자열에서 같은 개수를 가져야합니다. 예를 들어, 'Eleven plus two'와 '12 plus plus one'은 서로 의미있는 아나그램입니다.

17. 알 수없는 길이 배열 검색 길이를 알 수없는
정렬 된 배열과 검색 할 숫자가 있으면 배열의 숫자 색인을 반환합니다. 범위를 벗어난 요소에 액세스하면 예외가 발생합니다. 숫자가 여러 번 발생하면 발생 인덱스를 반환하십시오. 존재하지 않으면 -1을 리턴하십시오.

18. 짝수 번째 요소 찾기
정수 배열이 주어지면 한 요소가 짝수 번 발생하고 다른 요소는 홀수 번 발생합니다. 짝수 필드가있는 요소를 찾습니다.

19. 다음 Palindrome 번호 찾기 숫자가
주어지면 그 숫자보다 큰 다음 작은 회귀선을 찾으십시오. 예를 들어 숫자가 125이면 가장 작은 회문문은 131입니다.

20. Tree Level Order Print
정수의 2 진수 트리가 주어진다면, 순서대로 인쇄하십시오. 출력에는 동일한 레벨에있는 숫자와 여러 레벨 사이에 새로운 라인 사이에 공백이 포함됩니다.

21. 트리 역 레벨 순서 인쇄
이것은 이전의 포스트 레벨 주문 인쇄 와 매우 유사합니다  우리는 다시 트리를 레벨 순으로 인쇄하지만 이제는 하단에서 루트까지 시작합니다.

22. 홀수 발생 요소 찾기
정수 배열이 주어지면 한 요소는 홀수 번 발생하고 다른 모든 요소는 짝수 번 발생합니다. 이상한 어커런스가있는 요소를 찾습니다.

23. 텍스트에서 단어 위치 찾기
텍스트 파일과 단어가 주어지면 단어가 파일에서 나타나는 위치를 찾습니다. 동일한 파일에서 여러 단어의 위치를 ​​찾는 메시지가 표시됩니다.

24. 다음 숫자가 같은 다음 숫자 찾기 숫자가
주어지면 주어진 숫자의 숫자 만 사용하여 다음으로 높은 숫자를 찾습니다. 예를 들어, 주어진 숫자가 1234이면, 다음 숫자가 더 높은 숫자는 1243입니다.

(25) 문자열에서 제거 중복 문자는
첫 번째 발생을 유지 주어진 문자열에서 중복 문자를 제거합니다. 예를 들어, 입력이 'tree traversal'이면 출력은 'tre avsl'이됩니다.

26. 이진 검색 트리 트림 이진 검색 트리
의 루트와 2 개의 숫자 min 및 max가 주어지면 새 트리의 모든 숫자가 최소값과 최대 값 사이에 있도록 트리를 트리밍합니다. 결과 트리는 여전히 유효한 2 진 탐색 트리 여야합니다.

(27) 숫자의하는 squareRoot은
주어진 수의하는 squareRoot이 SQRT 함수를 사용하지 않고, 가장 가까운 정수로 내림 찾을 수 있습니다. 예를 들어, [9, 15] 사이의 숫자의 squareroot는 3을 반환하고 [16, 24]는 4이어야합니다.

28. 가장 긴 복합 단어 단어
의 정렬 된 목록이 주어지면 목록의 단어를 연결하여 구성된 목록에서 가장 긴 복합 단어를 찾습니다. 예를 들어 입력 목록이 [cat, cats, catsdogcats, catxdogcatsrat, dog, dogcatsdog, hippopotamuses, rat, ratcat, ratcatdog 인 경우 'ratcatdogcat']. 그러면 가장 긴 합성어는 12 자로 된 'ratcatdogcat'입니다. 가장 긴 개별 단어는 'catxdogcatsrat'와 'hippopotamuses'이며 14 개의 글자로되어 있지만 다른 단어로는 완전히 구성되지 않았습니다. 이전 단어에는 "x"문자가 있고, 후자는 복합 단어가 아닌 개별 단어입니다.