Leetcode 170. 양수 의 합 III - 데이터 구조 설계

7206 단어 Leetcode
제목.
  • 이 클래스 가 add 와 find 를 지원 할 수 있 도록 Two Sum 클래스 를 설계 하고 실현 합 니 다.
  • add 작업 - 내부 데이터 구조 에 수 를 추가 합 니 다.
  • find 작업 - 내부 데이터 구조 에 한 쌍 의 정수 가 존재 하 는 지 찾 아 두 수의 합 을 주어진 수 와 같 게 합 니 다.

  • 예시 1:
  • add(1); add(3); add(5);
  • find(4) -> true
  • find(7) -> false

  • 예시 2:
  • add(3); add(1); add(2);
  • find(3) -> true
  • find(6) -> false


  • 출처: 스냅 백 (LeetCode) 링크:https://leetcode-cn.com/problems/two-sum-iii-data-structure-design 저작권 은 인터넷 에 귀속 된다.상업 전 재 는 정부 에 연락 하여 권한 을 부여 해 주 십시오. 비 상업 전 재 는 출처 를 밝 혀 주 십시오.
    방법.
    class TwoSum {
            //  
            private ArrayList<Integer> nums;
            private boolean is_sorted;
        /** Initialize your data structure here. */
        public TwoSum(){
            this.nums = new ArrayList<Integer>();
            is_sorted =false;
        }    
        /** Add the number to an internal data structure.. */
        public void add(int number) {
            this.nums.add(number);
            this.is_sorted = false;
    
        }
        
        /** Find if there exists any pair of numbers which sum is equal to the value. */
        public boolean find(int value) {
             if (!this.is_sorted) {
          //  Collections       
          Collections.sort(this.nums);
        }
        int low = 0, high = this.nums.size() - 1;
        while (low < high) {
          int twosum = this.nums.get(low) + this.nums.get(high);
          if (twosum < value)
            low += 1;
          else if (twosum > value)
            high -= 1;
          else
            return true;
        }
        //    false
        return false;
        }
    }
    
    /**
     * Your TwoSum object will be instantiated and called as such:
     * TwoSum obj = new TwoSum();
     * obj.add(number);
     * boolean param_2 = obj.find(value);
     */
    

    사고의 방향
  • 클래스 아래 에서 속성 설명
  • 구조 함수 방법 에서 클래스 의 속성 을 초기 화 합 니 다
  • 다른 함수 에서 속성 과 함 수 를 호출 하여 완성 기능
  • 다음 단계 총결산
  • 류 디자인 의 원칙 과 기교?
  • 속성 권한 디자인 방법 과 기교?
  • 좋은 웹페이지 즐겨찾기