본문 바로가기
728x90
반응형

Leetcode32

21. Merge Two Sorted Lists 주어진 두 개의 정렬된 연결 리스트를 하나의 정렬된 리스트로 병합하는 문제입니다. 첫 번째 두 리스트의 노드를 이어 붙여서 새로운 정렬된 연결 리스트를 만들어야 합니다. 병합된 연결 리스트의 헤드 노드를 반환해야 합니다. /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */ public class Solution { public ListNode MergeTwoLists(ListNode li.. 2024. 4. 23.
112. Path Sum 주어진 이진 트리에서 루트부터 리프까지의 경로 중 합이 특정 값과 같은 경로가 있는지 확인하는 문제입니다. 간단히 말하면, 주어진 트리에서 어떤 경로를 따라 이동하면서 노드의 값을 더했을 때, 그 합이 주어진 값과 같은지를 확인하는 것입니다. /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) { * this.val = val; * this.left = left; * this.right = rig.. 2024. 4. 23.
530. Minimum Absolute Difference in BST 이진 탐색 트리(Binary Search Tree, BST)의 루트 노드가 주어졌을 때, 트리 내의 어떤 두 다른 노드 값 사이의 최소 절대 차이를 반환하는 문제입니다. 예제: 예제 1: 입력으로 root = [4,2,6,1,3]이 주어지면, 출력은 1입니다. 예제 2: 입력으로 root = [1,0,48,null,null,12,49]이 주어지면, 출력은 1입니다. 제약 조건: 트리의 노드 수는 범위 [2, 10^4] 내에 있습니다. 0 오른쪽 자식 노드 순서로 노드를 방문합니다. 이 방법을 사용하면 이진 탐색 트리의 노드들이 오름차순으로 방문되므로, 각 노드와 이전 노드의 차이를 계산하여 최소 절대 차이를 찾습니다. 이진 탐색 트리 root = [4,2,6,1,3]에 대해 중위 순회를 실행하면 다음과 .. 2024. 4. 21.
637. Average of Levels in Binary Tree 이진 트리의 각 레벨에 있는 노드들의 평균 값을 계산하는 문제입니다. 이진 트리의 루트가 주어지면, 각 레벨의 노드들의 평균 값을 배열 형태로 반환해야 합니다.이진 트리의 각 레벨에 있는 노드들의 평균 값을 계산하는 문제입니다. 이진 트리의 루트가 주어지면, 각 레벨의 노드들의 평균 값을 배열 형태로 반환해야 합니다. 실제 답과 10^-5 이내의 오차는 허용됩니다. /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNode left; * public TreeNode right; * public TreeNode(int val=0, TreeNode left=null, TreeNode .. 2024. 4. 18.
98. Validate Binary Search Tree 이진 트리가 유효한 이진 탐색 트리(Binary Search Tree, BST)인지 판별하는 것입니다. 노드의 왼쪽 서브트리에는 노드의 키보다 작은 키를 가진 노드만 포함되어 있습니다. 노드의 오른쪽 서브트리에는 노드의 키보다 큰 키를 가진 노드만 포함되어 있습니다. 왼쪽과 오른쪽 서브트리 모두 이진 탐색 트리여야 합니다. 예시 1: 입력: root = [2,1,3], 출력: true 예시 2: 입력: root = [5,1,4,null,null,3,6], 출력: false. 설명: 루트 노드의 값은 5이지만, 그 오른쪽 자식 노드의 값은 4입니다. 트리의 노드 수는 범위 [1, 10^4] 내에 있습니다. 노드의 값은 -2^31 2024. 4. 17.
2089. Find Target Indices After Sorting Array 0으로 시작하는 정수 배열 nums와 목표 요소 target이 주어집니다. 목표 인덱스는 nums[i] == target인 인덱스 i입니다. nums를 비감소 순서로 정렬한 후 nums의 목표 인덱스 목록을 반환하십시오. 목표 인덱스가 없으면 빈 목록을 반환합니다. 반환된 목록은 증가 순서로 정렬되어야 합니다. 예를 들어: 예제 1: 입력: nums = [1,2,5,2,3], target = 2 출력: [1,2] 설명: 정렬 후, nums는 [1, 2, 2 ,3,5]입니다. nums[i] == 2인 인덱스는 1과 2입니다. 예제 2: 입력: nums = [1,2,5,2,3], target = 3 출력: [3] 설명: 정렬 후, nums는 [1,2,2, 3 ,5]입니다. nums[i] == 3인 인덱스는 .. 2024. 3. 27.
162. Find Peak Element 어진 정수 배열에서 peak element를 찾는 문제입니다. Peak element는 해당 위치에서 좌우의 원소보다 큰 값을 갖는 원소를 의미합니다. 예를 들어, 배열 [1, 2, 3, 1]에서 3은 peak element입니다. 배열 [1, 2, 1, 3, 5, 6, 4]에서 6도 peak element입니다. 이 문제를 풀기 위한 일반적인 방법은 이진 검색(Binary Search)을 사용하는 것입니다. 이진 검색을 사용하면 O(log N)의 시간 복잡도로 peak element를 찾을 수 있습니다. public int FindPeakElement(int[] nums) { if (nums.Length == 0) { return -1; // 배열이 비어있는 경우 } // 배열의 길이가 1인 경우 if.. 2023. 11. 16.
728x90
반응형