Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Armhole Drop
- 우레탄지퍼
- 고급영어단어
- 비슬론지퍼
- 웹API
- 암홀트롭
- 비리짐
- 지연환가료
- 자켓실측
- 영어시간읽기
- 40HQ컨테이너40GP컨테이너차이
- WHATTIMEOFTHEDAY
- 요척합의
- 엑셀자동서식
- 봉제용어
- 클린코드
- 미국영어연음
- TACKING
- 핸드캐리쿠리어차이점
- 슈퍼코딩
- AATCC
- 필터링후복사붙여넣기
- 헤이큐
- 엑셀필터복사붙여넣기
- 나일론지퍼
- MERN스택
- 엑셀드래그단축키
- 미니마카
- 와끼
- 40HQ컨테이너
Archives
- Today
- Total
CASSIE'S BLOG
LeetCode 1. Two Sum 본문
반응형
-이중 FOR문으로 모든 조합 확인하기
i는 그래서 nums.length-1까지 (j때문에)
j는 nums.length까지
-new int[]{i, j}를 평가하면 [i, j]라는 배열이 생성되며, 이 배열은 길이가 2이고 첫 번째 요소는 i이고 두 번째 요소는 j임. 따라서 return new int[]{i, j}는 [i, j]라는 길이 2인 배열을 반환함
-Array (배열) 초기화
배열 또한 변수와 같이 중괄호 {} 를 이용해 선언과 동시에 초기화 가능
ex) datatype[] array_name = {element1, element2, ...}
-오류 이유
return int[] nums2 = {i, j};
return 키워드 뒤에는 값을 반환하는 표현식이나 변수가 와야함. 하지만 int[] nums2 = {i, j};는 선언문이기 때문에 return 키워드와 함께 사용될 수 없음
보통은 첫 번째 방식인 return new int[]{i, j};를 더 자주 사용합니다. 그 이유는 반환되는 배열을 바로 생성하고 전달하므로 코드가 간결하고 직관적임.
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i =0; i<nums.length-1; i++){
for(int j = i+1; j<nums.length; j++){
if(nums[i] + nums[j] == target){
return new int[] {i, j};
}
}
}
return new int[] {};
}
}
Optimized Code 참고용
import java.util.HashMap;
import java.util.Map;
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> numToIndex = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if (numToIndex.containsKey(target - nums[i])) {
return new int[] {numToIndex.get(target - nums[i]), i};
}
numToIndex.put(nums[i], i);
}
return new int[] {};
}
}
반응형