two pointers
-
[array] merge sorted arrayAlgorithm/LeetCode 2025. 2. 22. 15:39
✅ Problemhttps://leetcode.com/problems/merge-sorted-array/description/ ✅ Approach & Solution공통 : 투 포인터 사용 방식1) 작은 원소부터 넣기 (추가 공간 사용)더보기정답값을 담을 추가 배열(result)을 선언해 작은 원소부터 넣음문제 조건에서 nums1 배열에 값을 담으라고 했으므로 추가 배열(result)에 저장된 값들을 nums1 배열로 옮김nums1 배열은 m + n 개의 원소를 담을 수 있음class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int[] result = new int[m + n]; int p..
-
[linked list] palindrome linked listAlgorithm/LeetCode 2025. 2. 16. 18:50
✅ Problemhttps://leetcode.com/problems/palindrome-linked-list/description/ ✅ Approach & Solution공통리스트의 앞과 뒤의 값을 비교하여 값이 다른 경우 팰린드롬이 아님 방식1) 추가 자료구조 사용더보기1-1) Stack 사용/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.nex..
-
[array] 3sumAlgorithm/LeetCode 2025. 2. 1. 15:01
✅ Problemhttps://leetcode.com/problems/3sum/description/ ✅ Approach & Solution방식) 정렬 후 투 포인터 사용더보기3개를 찾아야 할 때 : 1개는 고정해두고 나머지 2개를 찾자나머지 2개 찾을 때 투 포인터 사용정렬 필수 (배열의 인덱스 값 활용하지 않기 때문에 정렬 가능)class Solution { public List> threeSum(int[] nums) { int left, right, sum; List> results = new ArrayList(); Arrays.sort(nums); for (int i = 0; i 0 && nums[i] == nums[i-1]) { ..