일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 쿠킹덤
- Spring
- dart
- 크리스마스
- edwith
- 프로그래머스
- 자바
- 쿠킹덤공략
- 노마드코더
- 티스토리챌린지
- MySQL
- 개발자
- 쿠키런킹덤
- HTML
- 쿠키런킹덤크리스마스
- 자바스크립트
- Java
- 이클립스
- 오블완
- SQL
- Unity
- Eclipse
- 웹개발
- 홀리데이익스프레스
- programmers
- 딥러닝
- JavaScript
- oracle
- 유니티
- 쿠키런킹덤공략
Archives
- Today
- Total
Dev study and notes
LEETCODE 0001 TWO SUM 본문
반응형
1. Two Sum
Difficulty | Topics | Hints | URL |
---|---|---|---|
Easy | Array``Hash Table |
3 | https://leetcode.com/problems/two-sum/description/ |
Table of Contents
Description
Given an array of integers nums
and an integer target
, return indices of the two numbers such that they add up to target
.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
You can return the answer in any order.
Examples
Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]
Constraints:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
- Only one valid answer exists.
Follow-up: Can you come up with an algorithm that is less than O(n2)
time complexity?
Solutions
JAVA (Array)
class Solution {
public int[] twoSum(int[] nums, int target) {
int numsLength = nums.length;
for (int i = 0; i < numsLength - 1; ++i) {
for (int j = i + 1; j < numsLength; ++j) {
if (target == nums[i] + nums[j]) {
return new int[]{i, j};
}
}
}
return new int[2];
}
}
JAVA (Hash Table)
import java.util.HashMap;
class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[] { map.get(complement), i };
}
map.put(nums[i], i);
}
return new int[0];
}
}
반응형
'LEETCODE' 카테고리의 다른 글
리트코드 0003 중복되지 않는 가장 긴 부분 문자열 찾기 LEETCODE 3. Longest Substring Without Repeating Characters (0) | 2024.12.03 |
---|---|
리트코드 0002 두 수 더하기 LEETCODE 2. Add Two Numbers (0) | 2024.12.03 |
리트코드 0001 두 수의 합 LEETCODE 1. Two Sum (0) | 2024.12.02 |
Comments