1.Leetcode 1
배열과 목적을 감안할 때, 물었다 : 배열에있는 두 개의 문자가이 목표로 구성 될 수있다. 오직 하나의 소정의 수 (인공 단순화)
주의 사항 :
LeetCode 아이디어 프로그래밍을 단순화하기 위해, 단지 클래스 솔루션을 쓸 수 있도록하지만, 지역 디버깅의 주요 기능을 작성해야합니다. 주요 기능 새로운 변수 솔루션의에서
포장의 생각을 반영하고 관련 함수 나 변수를 호출하여 S
진행 :
클래스 C 언어의 사용을 검토
반복자 사용
컨테이너의 벡터로 사용하고, 벡터 연산에 데이터를 추가
코드 :
. (1) // Leetcode # 1. twoSum 2 // 제목 설명 : 배열 번호 및 상기 타겟 주어 . 3 // 경우 어레이 및 두 타겟의 동수 두 첨자의 출력의 수. 4 //는 이 하나의 해결책, 동일한 번호를 재사용 할 수없는 것으로한다. . 5 . 6 #INCLUDE <STDIO.H> . 7 #INCLUDE <iostream> . 8 #INCLUDE <벡터> . (9) (10) 은 USING 공간 STD] . (11) (12)는 클래스 해결 { 13은 공개 : 14 벡터 < INT > twoSum (벡터 < INT >를 nums & INT 타겟) { 15 벡터 < INT> V ( 2 ); (16) 에 대한이 ( int로 난 = 0 ; i가 nums.size ()을 <; 내가 ++ ) 17 { 18 대 ( INT의 J = 나 + 1 , J <nums.size (); J를 ++ ) 19 { 20 의 경우 (nums [I] + nums [J] == 대상) 21 { 22 (V) [ 0 ] = I; 23 V는 [ 1 ] = J 단계; 24 반품 V; 25 } 26 27 } 28 } 29 리턴 V; 30 } 31 }; 32 (33) INT의 주 () 34 { 35 솔루션들; // 객체의 초기화 36 벡터 < INT > V1; // 동적 배열 용기 37 벡터 < INT > V2; 38 벡터 < INT > :: 반복자 ITE; // 迭代器반복자 39 40 v1.push_back ( 0 ); //벡터 끝에 추가 41 v1.push_back ( 1 ); 42 v1.push_back ( 2 ); 43 v1.push_back ( 3 ); 44 45 INT의 목표 = 5 ; 46 V2 = s.twoSum (V1, 표적); (47) (48) 에 대해 ( int로 난 = 0 ; i가 v2.size ()을 <; 내가 ++ ) 49 { 50 COUT << V2 [I] << ENDL 단계; 51 } 52 53 복귀 0 ; 54 }
# Leetcode 1 : //. twoSum // 제목 설명 : 숫자의 배열 및 상기 타겟 주어 A가 배열 대상의 수가 두 첨자의 출력의 개수가 2 같고 경우 //. // 단 하나 개의 솔루션과 같은 번호를 재사용 할 수 없다고 생각했습니다. #INCLUDE <STDIO.H> #INCLUDE <iostream> #INCLUDE <벡터> 네임 스페이스를 사용하여 STD, 클래스 해결 { 공개 : 벡터 <INT> twoSum (벡터 <INT>를 nums & INT 타겟) { 벡터 <INT> V (2 ) 에 대해 (; I는 (nums.size를 <I = 0 INT); I는 ++) { 대해 INT (I = J + 1]. J <nums.size (); J ++) { IF (nums [I]를 nums + [J ] == 타겟) { V [0] = I] . V의 [1] = J; 복귀 V] }
} } 반환 V; } }; INT의 main () { 솔루션들; // 객체의 초기화 벡터를 <INT> V1 // 동적 배열 컨테이너 벡터 <INT> V2; 벡터 <INT> :: 반복자 ITE //迭代器반복자 v1.push_back (0); // 벡터 단부에 추가 v1.push_back (1); v1.push_back (2); v1.push_back (3); INT 대상 = 5; V2 = s.twoSum (V1, 표적); 대해 INT (I = 0; I)이 (v2.size를 <; 내가 ++) { COUT << V2 [I] << ENDL; } 0을 반환; }