leetcode.1. 두 숫자

 

------- 할 일의 질문에 매우 개인 기록 -------

해시 테이블의 응용 프로그램.

사고 : ① 배열 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], 나);
            }
        }
        반환 을;
    }

결론 : 경험은 근본적으로 재 점검 또는 신속하게 문제를 발견 해시 테이블을 사용하는 것이 좋습니다.

 

 

추천

출처www.cnblogs.com/hdrawery/p/11980455.html