로딩
요청 처리 중입니다...

JAVA_LeetCode 337_House Robber III

 JAVA_LeetCode 337_House Robber III

JAVA_LeetCode 337_House Robber III 풀이 class Solution { // 메모이제이션용 캐시: 각 노드별 [0]: 털지 않았을 때 최대 금액, [1]: 털었을 때 최대 금액 저장 private Map memo = new HashMap(); public int rob(TreeNode root) { // dfs 결과 배열 반환: result[0] = 안 털었을 때 최대값, result[1] = 털었을 때 최대값 int[] result = dfs(root); // 루트 노드에서 턴 경우와 안 턴 경우 중 최대값 반환 return Math.max(result[0], result[1]); } private int[] dfs(TreeNode node) { // 종료 조건: 노드가 null이면 돈을 훔칠 수 없으므로 0 반환 if (node == null) return new int[2]; // 이미 계산된 노드면 memo에서 재사...