------- 할 일의 질문에 매우 개인 기록 -------
해시 테이블의 응용 프로그램.
사고 : ① 배열 nums [I] 저장된 해시 테이블
② 내로마다 모양 (목표-A [I])의 해시 테이블이없는 nums [i]는 그 자체로도이면
오류가 발생하기 쉬운 경고 : 키 값을 찾아 map.get (중요한) 기능이 있으므로 (목표-A [I]) 계정에 관통을 복용 찾는 것이 필요한지 여부 나 그 자체에 대응하는 배열 인덱스 키 - 값 쌍의 첨가 시간,
포맷 "([I, I nums) map.put"이어야
코드 :
공개 INT [] twoSum ( INT [] nums, INT 대상) { 해시 맵 <정수 정수>지도 = 새로운 새 HashMap의 <> (); INT A [] = {0,0 }] 대 ( INT I = 0; I <nums.length; I ++ ) { INT X = target- nums [I ] IF (map.containsKey (X) = I map.get && (X)로서!) { // 감수 없으면 피감수 자체 A [0] = I; A [ 1] = map.get (X); 휴식 ; } 다른 { map.put (nums [I], 나); } } 반환 을; }
결론 : 경험은 근본적으로 재 점검 또는 신속하게 문제를 발견 해시 테이블을 사용하는 것이 좋습니다.