홈>
O (n) 시간에 20을 곱한 두 개의 숫자를 얻으려고합니다. 여기서 해시 맵을 사용하려고합니다.
내 테스트 사례는 와이즈 비즈
1과 4 여야하는 배열 인덱스 1과 5를 제공합니다.
int arr[] = {2, 4, 1, 6, 5, 40, -1};
public static int[] multToTwenty(int arr[]) {
HashMap<Integer, Integer> hm = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
if (hm.containsKey(20 / arr[i])) {
return new int[]{hm.get(20 / arr[i]), arr[i]};
}
hm.put(arr[i], i);
}
return new int[]{-1, -1}; // Nothing found
}
- 답변 # 1
관련 자료
- python - 문제는 1에서 num까지 곱하여 num이되는 두 개의 숫자를 찾는 것입니다
- multiplying - R에 두 개의 객체를 곱하십시오
- c++ - 두 줄이 동형이 아닌지 어떻게 알 수 있습니까?
- mongodb - 수집 된 두 데이터 사이의 두 날짜 찾기
- python - 두 개의 무작위로 생성 된 숫자가 0이 될 때까지 곱하는 방법은 무엇입니까?
- regex - 숫자가있는 줄 찾기
- django - 해당 프로세스 유형을 찾을 수 없습니다
- javascript - URL에서 두 개의 숫자 얻기
- javascript - 배열에서 같은 숫자를 모두 찾습니다
- javascript - 두 개의 값으로 find ()를 사용하는 방법
- c++ - 링크 된 목록으로 표시되는 두 개의 큰 숫자를 곱하십시오
- python - 목록에서 가장 많이 발생하는 두 문자열을 찾는 방법은 무엇입니까?
- java - a + b + c = 0이되도록 배열에서 삼중 항 (a, b, c)를 찾습니다
- AVR 어셈블러로 2 개의 16 비트 숫자를 곱하십시오
- 셀에있는 긴 텍스트에서 단어 찾기 (Excel VBA)
- java - 반복되지 않는 숫자 찾기
- python - 각 이미지에 가장 가까운 두 개 찾기
- python - numpy 배열의 각 두 행의 평균을 찾는 방법
- python - 텍스트 파일 내에서 한 줄의 숫자 합계를 찾는 방법은 무엇입니까?
- rest - 파일 다운로드 요청을 어떻게 찾습니까?
20/i
정수 나누기이므로j=20/i
그i*j == 20
를 의미하지 않습니다 . 추가 확인을 추가해야합니다 :그리고 코드에 또 다른 오류가 있습니다 :
a[i]
요소를 반환합니다 인덱스i
대신 . 돌아와야합니다