일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- til
- SQL 고득점 Kit
- 리덕스
- 자바스크립트
- programmers
- 리트코드
- 토익
- 타입스크립트
- 코드스테이츠
- LeetCode
- 4주 프로젝트
- 타임어택
- Async
- 파이썬
- 2주 프로젝트
- 백준
- codestates
- 프로그래머스
- 코어 자바스크립트
- 손에 익히며 배우는 네트워크 첫걸음
- js
- python
- 리액트
- 렛츠기릿 자바스크립트
- 알고리즘
- 회고
- 정재남
- 제로초
- 타입스크립트 올인원
- javascript
Archives
- Today
- Total
Jerry
[day22][leetcode] 167. Two Sum II - Input Array Is Sorted 본문
Problem Solving/Algorithm 문제 풀기
[day22][leetcode] 167. Two Sum II - Input Array Is Sorted
juicyjerry 2024. 3. 6. 00:34반응형
TRY
// TRY 1
/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
var twoSum = function(numbers, target) {
let sum = 0;
for (let left = 0; left < numbers.length; left++) {
let right = 0;
sum = numbers[left];
console.log("sum (1) ", sum);
while (right < numbers.length) {
if (left != right) {
sum += numbers[right];
console.log("sum (2) ", sum);
if (sum === target && left != right) return [left + 1, right + 1];
sum -= numbers[right];
}
right++;
}
}
return [];
};
SOLUTION
// SOLUTION 1 : TWO POINTERS
/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
var twoSum = function(numbers, target) {
let sum = 0;
let left = 0;
let right = numbers.length - 1;
while (left < right) {
sum = numbers[left] + numbers[right];
if (left != right && sum === target) {
console.log("sum (2) ", sum);
return [left + 1, right + 1];
} else if (sum < target) {
left++;
} else {
right--;
}
sum -= numbers[right];
}
return [];
};
// Time Complexity: O(N)
// Space Complexity: O(1)
// SOLUTION 2
/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
var twoSum = function(numbers, target) {
let left = 0;
let right = numbers.length - 1;
let sum = 0;
while (left < right) {
sum = numbers[left] + numbers[right];
if (sum === target) return [left + 1, right + 1];
else if (sum < target) left++;
else right--;
}
return [];
};
반응형
'Problem Solving > Algorithm 문제 풀기' 카테고리의 다른 글
[day22][leetcode] 561. Array Partition (1) | 2024.03.06 |
---|---|
[day22][leetcode] 209. Minimum Size Subarray Sum (0) | 2024.03.06 |
[day21][leetcode] 209. Minimum Size Subarray Sum (0) | 2024.03.04 |
[프로그래머스/파이썬]문자열 출력하기 (0) | 2023.10.30 |
[백준][python]11720_숫자의 합 (0) | 2023.02.20 |