일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- string
- 파이썬
- geometry
- Binary Tree
- Math
- Binary Search
- database
- Class
- sorting
- two pointers
- Matrix
- 코딩테스트
- Data Structure
- dynamic programming
- simulation
- 코테
- Number Theory
- hash table
- Counting
- java
- Tree
- implement
- SQL
- greedy
- 구현
- bit manipulation
- Stack
- array
- 자바
- Method
- Today
- Total
목록depth first search (11)
코린이의 소소한 공부노트
1. Input 1) TreeNode root 2. Output 1) root가 좌우대칭 트리라면 true, 아니면 false를 반환 3. Constraint 1) 노드 수의 범위는 [1, 1000]이다. 2) -100 Output: false 5. Code /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left =..
1. Input 1) int n - 그래프의 노드의 개수 - 노드에는 0번부터 n-1번까지의 번호가 붙어 있다. 2) int[][] edges - edges[i] = [u_i, v_i]. u_i번 노드와 v_i번 노드가 연결되어 있다. 3) int source 4) int destination 2. Output 1) 주어진 그래프에서 source에서 destination으로 가는 경로가 있다면 true, 없다면 false를 반환 3. Constraint 1) 1
1. Input 1) TreeNode root 2. Output 1) root의 모든 노드의 값이 같으면 true, 다르면 false를 반환 3. Constraint 1) 노드 수의 범위는 [1, 100]이다. 2) 0 Output: true Input: root = [2,2,2,5,2] -> Output: false 5. Code 1) 첫 코드(2023/06/06) /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, Tr..
1. Input 1) TreeNode root 2) int low 3) int high 2. Output 1) root에 있는 노드 값 중에서 [low, high] 범위 내의 값만 더한 결과를 반환 3. Constraint 1) 노드 수의 범위는 [1, 2*10^4]이다. 2) 1
1. Input 1) TreeNode root 2. Output 1) root를 inorder로 읽어온 후 모든 노드가 오른쪽 자식만 갖게 재배열한 결과를 반환 3. Constraint 1) 노드 수의 범위는 [1, 100]이다. 2) 0
1. Problem - root에 대하여 깊이 우선 탐색을 실행해보자. - 깊이 우선 탐색은 너비보다 깊이를 우선적으로 탐색하는 알고리즘이다. - 탐색 결과는 root에서 최하단까지 갔다가 다시 root에서 다른 최하단까지 가는 형식으로 나온다. - 주로 스택으로 구현한다. 2. Input 1) int[][] graph - 노드 간의 연결성 표현 2) int root - root 노드의 값 3. Output 1) root에 대하여 깊이 우선 탐색을 실행한 결과 4. Example // 예시: 위 그래프가 주어졌을 때, 1부터 차례대로 방문한다. // 한 번 방문한 노드는 다시 방문하지 않는다. liststack // 첫 번째로, 1을 방문한다. [1][] // 1과 연결 되어 있는 노드 중 방문하지 않은..
1. Input 1) TreeNode root 2. Output 1) root에서 고른 임의의 두 값의 차가 가장 작은 것을 반환 - 차는 0 이상이어야 한다. 3. Constraint 1) 노드 수의 범위는 [2, 100]이다. 2) 0 Output: 1 5. Code 1) 첫 코드(2023/05/31) /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * th..
1. Input 1) TreeNode root 2. Output 1) root의 노드의 값 중 2번째로 작은 수를 반환 2) 만약 그런 값이 없다면 -1을 반환 3. Constraint 1) 트리 내의 노드 수의 범위는 [1, 25]이다. 2) 1 Output: -1 5. Code 1) 첫 코드(2023/05/29) /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) ..
1. Input 1) TreeNode root 2. Output 1) root에 있는 두 노드의 값의 차가 가장 작은 것을 반환 - 차는 절댓값으로 계산한다. 3. Constraint 1) 노드의 수는 [2, 10^4]이다. 2) 0