From bd66a50e87276c57eda0024a8b7f98083eb6b676 Mon Sep 17 00:00:00 2001 From: Thanh829 <93962044+ThanhNIT@users.noreply.github.com> Date: Thu, 1 Jan 2026 16:14:03 +0700 Subject: [PATCH] fix sonar for tasks 155-452 --- .../s0155_min_stack/MinStack_test.py | 46 +++++++++---------- .../Solution0160.py | 8 ++-- .../Solution0160_test.py | 34 +++++++------- .../s0190_reverse_bits/Solution0190.py | 2 +- .../s0207_course_schedule/Solution0207.py | 8 ++-- .../s0208_implement_trie_prefix_tree/Trie.py | 8 ++-- .../s0210_course_schedule_ii/Solution0210.py | 4 +- .../Solution0210_test.py | 12 ++--- .../s0212_word_search_ii/Solution0212.py | 8 ++-- .../Solution0226_test.py | 2 +- .../Solution0236_test.py | 20 ++++---- .../Solution0240_test.py | 4 +- .../s0283_move_zeroes/Solution0283.py | 6 +-- .../MedianFinder_test.py | 22 ++++----- .../s0338_counting_bits/Solution0338.py | 14 +++--- .../s0383_ransom_note/Solution0383.py | 6 +-- .../Solution0416_test.py | 4 +- .../s0427_construct_quad_tree/Solution0427.py | 30 ++++++------ .../s0437_path_sum_iii/Solution0437.py | 12 ++--- .../Solution0452.py | 6 +-- 20 files changed, 127 insertions(+), 129 deletions(-) diff --git a/src/main/python/g0101_0200/s0155_min_stack/MinStack_test.py b/src/main/python/g0101_0200/s0155_min_stack/MinStack_test.py index 38fdf29..0091c03 100644 --- a/src/main/python/g0101_0200/s0155_min_stack/MinStack_test.py +++ b/src/main/python/g0101_0200/s0155_min_stack/MinStack_test.py @@ -3,30 +3,30 @@ class MinStackTest(unittest.TestCase): def test_minStack(self): - minStack = MinStack() - minStack.push(-2) - minStack.push(0) - minStack.push(-3) - self.assertEqual(minStack.getMin(), -3) - minStack.pop() - self.assertEqual(minStack.top(), 0) - self.assertEqual(minStack.getMin(), -2) + min_stack = MinStack() + min_stack.push(-2) + min_stack.push(0) + min_stack.push(-3) + self.assertEqual(min_stack.getMin(), -3) + min_stack.pop() + self.assertEqual(min_stack.top(), 0) + self.assertEqual(min_stack.getMin(), -2) def test_minStack2(self): - minStack = MinStack() - minStack.push(0) - minStack.push(1) - minStack.push(0) - self.assertEqual(minStack.getMin(), 0) - minStack.pop() - self.assertEqual(minStack.getMin(), 0) + min_stack = MinStack() + min_stack.push(0) + min_stack.push(1) + min_stack.push(0) + self.assertEqual(min_stack.getMin(), 0) + min_stack.pop() + self.assertEqual(min_stack.getMin(), 0) def test_minStack3(self): - minStack = MinStack() - minStack.push(1) - minStack.push(2) - self.assertEqual(minStack.top(), 2) - self.assertEqual(minStack.getMin(), 1) - minStack.pop() - self.assertEqual(minStack.getMin(), 1) - self.assertEqual(minStack.top(), 1) + min_stack = MinStack() + min_stack.push(1) + min_stack.push(2) + self.assertEqual(min_stack.top(), 2) + self.assertEqual(min_stack.getMin(), 1) + min_stack.pop() + self.assertEqual(min_stack.getMin(), 1) + self.assertEqual(min_stack.top(), 1) diff --git a/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160.py b/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160.py index f5f9f25..5fcc97e 100644 --- a/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160.py +++ b/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160.py @@ -15,9 +15,9 @@ def __init__(self, x): # self.val = x # self.next = None class Solution: - def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> Optional[ListNode]: - node1, node2 = headA, headB + def getIntersectionNode(self, head_a: ListNode, head_b: ListNode) -> Optional[ListNode]: + node1, node2 = head_a, head_b while node1 != node2: - node1 = headB if node1 is None else node1.next - node2 = headA if node2 is None else node2.next + node1 = head_b if node1 is None else node1.next + node2 = head_a if node2 is None else node2.next return node1 diff --git a/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160_test.py b/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160_test.py index 8258843..1c5b1b2 100644 --- a/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160_test.py +++ b/src/main/python/g0101_0200/s0160_intersection_of_two_linked_lists/Solution0160_test.py @@ -1,42 +1,42 @@ import unittest from Solution0160 import Solution, ListNode -def build_intersecting_lists(listA, listB, skipA, skipB): - if not listA or not listB: +def build_intersecting_lists(list_a, list_b, skip_a, skip_b): + if not list_a or not list_b: return None, None - nodesA = [ListNode(val) for val in listA] - nodesB = [ListNode(val) for val in listB] + nodes_a = [ListNode(val) for val in list_a] + nodes_b = [ListNode(val) for val in list_b] # Connect listA - for i in range(len(nodesA) - 1): - nodesA[i].next = nodesA[i + 1] + for i in range(len(nodes_a) - 1): + nodes_a[i].next = nodes_a[i + 1] # Connect listB - for i in range(len(nodesB) - 1): - nodesB[i].next = nodesB[i + 1] + for i in range(len(nodes_b) - 1): + nodes_b[i].next = nodes_b[i + 1] # Create intersection - if skipA < len(nodesA) and skipB < len(nodesB): - nodesB[-1].next = nodesA[skipA] + if skip_a < len(nodes_a) and skip_b < len(nodes_b): + nodes_b[-1].next = nodes_a[skip_a] - return nodesA[0], nodesB[0] + return nodes_a[0], nodes_b[0] class SolutionTest(unittest.TestCase): def test_getIntersectionNode(self): # listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3 - headA, headB = build_intersecting_lists([4,1,8,4,5], [5,6,1,8,4,5], 2, 3) - result = Solution().getIntersectionNode(headA, headB) + head_a, head_b = build_intersecting_lists([4,1,8,4,5], [5,6,1,8,4,5], 2, 3) + result = Solution().getIntersectionNode(head_a, head_b) self.assertEqual(result.val, 8) def test_getIntersectionNode2(self): # listA = [1,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1 - headA, headB = build_intersecting_lists([1,9,1,2,4], [3,2,4], 3, 1) - result = Solution().getIntersectionNode(headA, headB) + head_a, head_b = build_intersecting_lists([1,9,1,2,4], [3,2,4], 3, 1) + result = Solution().getIntersectionNode(head_a, head_b) self.assertEqual(result.val, 2) def test_getIntersectionNode3(self): # listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2 - headA, headB = build_intersecting_lists([2,6,4], [1,5], 3, 2) - result = Solution().getIntersectionNode(headA, headB) + head_a, head_b = build_intersecting_lists([2,6,4], [1,5], 3, 2) + result = Solution().getIntersectionNode(head_a, head_b) self.assertIsNone(result) diff --git a/src/main/python/g0101_0200/s0190_reverse_bits/Solution0190.py b/src/main/python/g0101_0200/s0190_reverse_bits/Solution0190.py index 1dc040a..3b37d13 100644 --- a/src/main/python/g0101_0200/s0190_reverse_bits/Solution0190.py +++ b/src/main/python/g0101_0200/s0190_reverse_bits/Solution0190.py @@ -6,7 +6,7 @@ class Solution: def reverseBits(self, n: int) -> int: ret = 0 # because there are 32 bits in total - for i in range(32): + for _ in range(32): ret = ret << 1 # If the bit is 1 we OR it with 1, ie add 1 if (n & 1) > 0: diff --git a/src/main/python/g0201_0300/s0207_course_schedule/Solution0207.py b/src/main/python/g0201_0300/s0207_course_schedule/Solution0207.py index c5bb7bf..d04158d 100644 --- a/src/main/python/g0201_0300/s0207_course_schedule/Solution0207.py +++ b/src/main/python/g0201_0300/s0207_course_schedule/Solution0207.py @@ -9,14 +9,14 @@ class Solution: GRAY = 1 BLACK = 2 - def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool: - adj = [[] for _ in range(numCourses)] + def canFinish(self, num_courses: int, prerequisites: List[List[int]]) -> bool: + adj = [[] for _ in range(num_courses)] for pre in prerequisites: adj[pre[1]].append(pre[0]) - colors = [self.WHITE] * numCourses + colors = [self.WHITE] * num_courses - for i in range(numCourses): + for i in range(num_courses): if colors[i] == self.WHITE and adj[i] and self.hasCycle(adj, i, colors): return False return True diff --git a/src/main/python/g0201_0300/s0208_implement_trie_prefix_tree/Trie.py b/src/main/python/g0201_0300/s0208_implement_trie_prefix_tree/Trie.py index 1493948..612d63e 100644 --- a/src/main/python/g0201_0300/s0208_implement_trie_prefix_tree/Trie.py +++ b/src/main/python/g0201_0300/s0208_implement_trie_prefix_tree/Trie.py @@ -5,8 +5,8 @@ class TrieNode: def __init__(self): - self.children = dict() - self.isWordEnd = False + self.children = {} + self.is_word_end = False class Trie: def __init__(self): @@ -18,7 +18,7 @@ def insert(self, word: str) -> None: if c not in curr.children: curr.children[c] = TrieNode() curr = curr.children[c] - curr.isWordEnd = True + curr.is_word_end = True def search(self, word: str) -> bool: curr = self.root @@ -26,7 +26,7 @@ def search(self, word: str) -> bool: if c not in curr.children: return False curr = curr.children[c] - return curr.isWordEnd + return curr.is_word_end def startsWith(self, prefix: str) -> bool: curr = self.root diff --git a/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210.py b/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210.py index 3943034..9d53dda 100644 --- a/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210.py +++ b/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210.py @@ -5,9 +5,9 @@ from typing import List, Dict class Solution: - def findOrder(self, numCourses: int, prerequisites: List[List[int]]) -> List[int]: + def findOrder(self, num_courses: int, prerequisites: List[List[int]]) -> List[int]: graph = {} - for i in range(numCourses): + for i in range(num_courses): graph[i] = [] for classes in prerequisites: graph[classes[0]].append(classes[1]) diff --git a/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210_test.py b/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210_test.py index 5181de8..9f11af1 100644 --- a/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210_test.py +++ b/src/main/python/g0201_0300/s0210_course_schedule_ii/Solution0210_test.py @@ -4,15 +4,15 @@ class SolutionTest(unittest.TestCase): def test_courseScheduleII(self): prerequisites = [[1, 0]] - numCourses = 2 - self.assertEqual(Solution().findOrder(numCourses, prerequisites), [0, 1]) + num_courses = 2 + self.assertEqual(Solution().findOrder(num_courses, prerequisites), [0, 1]) def test_courseScheduleII2(self): prerequisites = [[1, 0], [2, 0], [3, 1], [3, 2]] - numCourses = 4 - self.assertEqual(Solution().findOrder(numCourses, prerequisites), [0, 1, 2, 3]) + num_courses = 4 + self.assertEqual(Solution().findOrder(num_courses, prerequisites), [0, 1, 2, 3]) def test_courseScheduleII3(self): prerequisites = [] - numCourses = 1 - self.assertEqual(Solution().findOrder(numCourses, prerequisites), [0]) + num_courses = 1 + self.assertEqual(Solution().findOrder(num_courses, prerequisites), [0]) diff --git a/src/main/python/g0201_0300/s0212_word_search_ii/Solution0212.py b/src/main/python/g0201_0300/s0212_word_search_ii/Solution0212.py index 5b8ba2c..75958ac 100644 --- a/src/main/python/g0201_0300/s0212_word_search_ii/Solution0212.py +++ b/src/main/python/g0201_0300/s0212_word_search_ii/Solution0212.py @@ -27,7 +27,7 @@ def remove_word(word, root = trie): return None - def getAns(m, n, root, word): + def get_ans(m, n, root, word): if root["end"]: ans.append(word) @@ -38,14 +38,12 @@ def getAns(m, n, root, word): for i,j in [[1,0],[-1,0],[0,1],[0,-1]]: a, b = m+i, n+j if 0 <= a < y and 0 <= b < x and visited[a][b] == False and root[board[a][b]]: - getAns(a, b, root[board[a][b]], word + board[a][b]) + get_ans(a, b, root[board[a][b]], word + board[a][b]) visited[m][n] = False - return - for i in range(y): for j in range(x): if trie[board[i][j]]: - getAns(i, j, trie[board[i][j]], board[i][j]) + get_ans(i, j, trie[board[i][j]], board[i][j]) return ans diff --git a/src/main/python/g0201_0300/s0226_invert_binary_tree/Solution0226_test.py b/src/main/python/g0201_0300/s0226_invert_binary_tree/Solution0226_test.py index d5bb56a..fe6ae83 100644 --- a/src/main/python/g0201_0300/s0226_invert_binary_tree/Solution0226_test.py +++ b/src/main/python/g0201_0300/s0226_invert_binary_tree/Solution0226_test.py @@ -48,4 +48,4 @@ def test_invertTree2(self): def test_invertTree3(self): root = build_tree([]) result = Solution().invertTree(root) - self.assertEqual(result, None) + self.assertIsNone(result) diff --git a/src/main/python/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution0236_test.py b/src/main/python/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution0236_test.py index 3e1366c..87bcd2d 100644 --- a/src/main/python/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution0236_test.py +++ b/src/main/python/g0201_0300/s0236_lowest_common_ancestor_of_a_binary_tree/Solution0236_test.py @@ -3,22 +3,22 @@ class SolutionTest(unittest.TestCase): def test_lowestCommonAncestor(self): - leftNodeLeftNode = TreeNode(6) - leftNodeRightNode = TreeNode(2, TreeNode(7), TreeNode(4)) - leftNode = TreeNode(5, leftNodeLeftNode, leftNodeRightNode) - rightNode = TreeNode(1, TreeNode(0), TreeNode(8)) - root = TreeNode(3, leftNode, rightNode) + left_node_left_node = TreeNode(6) + left_node_right_node = TreeNode(2, TreeNode(7), TreeNode(4)) + left_node = TreeNode(5, left_node_left_node, left_node_right_node) + right_node = TreeNode(1, TreeNode(0), TreeNode(8)) + root = TreeNode(3, left_node, right_node) self.assertEqual( Solution().lowestCommonAncestor(root, TreeNode(5), TreeNode(1)).val, 3 ) def test_lowestCommonAncestor2(self): - leftNodeLeftNode = TreeNode(6) - leftNodeRightNode = TreeNode(2, TreeNode(7), TreeNode(4)) - leftNode = TreeNode(5, leftNodeLeftNode, leftNodeRightNode) - rightNode = TreeNode(1, TreeNode(0), TreeNode(8)) - root = TreeNode(3, leftNode, rightNode) + left_node_left_node = TreeNode(6) + left_node_right_node = TreeNode(2, TreeNode(7), TreeNode(4)) + left_node = TreeNode(5, left_node_left_node, left_node_right_node) + right_node = TreeNode(1, TreeNode(0), TreeNode(8)) + root = TreeNode(3, left_node, right_node) self.assertEqual( Solution().lowestCommonAncestor(root, TreeNode(5), TreeNode(4)).val, 5 diff --git a/src/main/python/g0201_0300/s0240_search_a_2d_matrix_ii/Solution0240_test.py b/src/main/python/g0201_0300/s0240_search_a_2d_matrix_ii/Solution0240_test.py index 9a6c0e5..cf03a82 100644 --- a/src/main/python/g0201_0300/s0240_search_a_2d_matrix_ii/Solution0240_test.py +++ b/src/main/python/g0201_0300/s0240_search_a_2d_matrix_ii/Solution0240_test.py @@ -10,7 +10,7 @@ def test_searchMatrix(self): [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] - self.assertEqual(Solution().searchMatrix(matrix, 5), True) + self.assertTrue(Solution().searchMatrix(matrix, 5)) def test_searchMatrix2(self): matrix = [ @@ -20,4 +20,4 @@ def test_searchMatrix2(self): [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] - self.assertEqual(Solution().searchMatrix(matrix, 20), False) + self.assertFalse(Solution().searchMatrix(matrix, 20)) diff --git a/src/main/python/g0201_0300/s0283_move_zeroes/Solution0283.py b/src/main/python/g0201_0300/s0283_move_zeroes/Solution0283.py index 6cb2534..539ec2e 100644 --- a/src/main/python/g0201_0300/s0283_move_zeroes/Solution0283.py +++ b/src/main/python/g0201_0300/s0283_move_zeroes/Solution0283.py @@ -9,11 +9,11 @@ def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ - firstZero = 0 + first_zero = 0 for i in range(len(nums)): if nums[i] != 0: - self.swap(firstZero, i, nums) - firstZero += 1 + self.swap(first_zero, i, nums) + first_zero += 1 def swap(self, index1: int, index2: int, nums: List[int]) -> None: nums[index1], nums[index2] = nums[index2], nums[index1] diff --git a/src/main/python/g0201_0300/s0295_find_median_from_data_stream/MedianFinder_test.py b/src/main/python/g0201_0300/s0295_find_median_from_data_stream/MedianFinder_test.py index aa38c53..63f84e6 100644 --- a/src/main/python/g0201_0300/s0295_find_median_from_data_stream/MedianFinder_test.py +++ b/src/main/python/g0201_0300/s0295_find_median_from_data_stream/MedianFinder_test.py @@ -3,16 +3,16 @@ class MedianFinderTest(unittest.TestCase): def test_medianFinder(self): - medianFinder = MedianFinder() - medianFinder.addNum(1) - medianFinder.addNum(2) - self.assertEqual(medianFinder.findMedian(), 1.5) - medianFinder.addNum(3) - self.assertEqual(medianFinder.findMedian(), 2.0) + median_finder = MedianFinder() + median_finder.addNum(1) + median_finder.addNum(2) + self.assertEqual(median_finder.findMedian(), 1.5) + median_finder.addNum(3) + self.assertEqual(median_finder.findMedian(), 2.0) def test_medianFinder2(self): - medianFinder = MedianFinder() - medianFinder.addNum(1) - medianFinder.addNum(3) - medianFinder.addNum(-1) - self.assertEqual(medianFinder.findMedian(), 1.0) + median_finder = MedianFinder() + median_finder.addNum(1) + median_finder.addNum(3) + median_finder.addNum(-1) + self.assertEqual(median_finder.findMedian(), 1.0) diff --git a/src/main/python/g0301_0400/s0338_counting_bits/Solution0338.py b/src/main/python/g0301_0400/s0338_counting_bits/Solution0338.py index d2d7ba4..18aeb45 100644 --- a/src/main/python/g0301_0400/s0338_counting_bits/Solution0338.py +++ b/src/main/python/g0301_0400/s0338_counting_bits/Solution0338.py @@ -7,16 +7,16 @@ class Solution: def countBits(self, num: int) -> List[int]: result = [0] * (num + 1) - borderPos = 1 - incrPos = 1 + border_pos = 1 + incr_pos = 1 for i in range(1, len(result)): - if incrPos == borderPos: + if incr_pos == border_pos: result[i] = 1 - incrPos = 1 - borderPos = i + incr_pos = 1 + border_pos = i else: - result[i] = 1 + result[incrPos] - incrPos += 1 + result[i] = 1 + result[incr_pos] + incr_pos += 1 return result diff --git a/src/main/python/g0301_0400/s0383_ransom_note/Solution0383.py b/src/main/python/g0301_0400/s0383_ransom_note/Solution0383.py index c54024b..c3424a2 100644 --- a/src/main/python/g0301_0400/s0383_ransom_note/Solution0383.py +++ b/src/main/python/g0301_0400/s0383_ransom_note/Solution0383.py @@ -2,11 +2,11 @@ # #2025_09_20_Time_11_ms_(89.85%)_Space_17.93_MB_(54.38%) class Solution: - def canConstruct(self, ransomNote: str, magazine: str) -> bool: + def canConstruct(self, ransom_note: str, magazine: str) -> bool: freq = [0] * 26 - n = len(ransomNote) + n = len(ransom_note) for i in range(n): - freq[ord(ransomNote[i]) - 97] += 1 + freq[ord(ransom_note[i]) - 97] += 1 for i in range(len(magazine)): if n == 0: break diff --git a/src/main/python/g0401_0500/s0416_partition_equal_subset_sum/Solution0416_test.py b/src/main/python/g0401_0500/s0416_partition_equal_subset_sum/Solution0416_test.py index 7d69f66..0707c08 100644 --- a/src/main/python/g0401_0500/s0416_partition_equal_subset_sum/Solution0416_test.py +++ b/src/main/python/g0401_0500/s0416_partition_equal_subset_sum/Solution0416_test.py @@ -3,7 +3,7 @@ class SolutionTest(unittest.TestCase): def test_canPartition(self): - self.assertEqual(Solution().canPartition([1, 5, 11, 5]), True) + self.assertTrue(Solution().canPartition([1, 5, 11, 5])) def test_canPartition2(self): - self.assertEqual(Solution().canPartition([1, 2, 3, 5]), False) + self.assertFalse(Solution().canPartition([1, 2, 3, 5])) diff --git a/src/main/python/g0401_0500/s0427_construct_quad_tree/Solution0427.py b/src/main/python/g0401_0500/s0427_construct_quad_tree/Solution0427.py index 2ddda91..a8b6c61 100644 --- a/src/main/python/g0401_0500/s0427_construct_quad_tree/Solution0427.py +++ b/src/main/python/g0401_0500/s0427_construct_quad_tree/Solution0427.py @@ -4,20 +4,20 @@ from typing import List, Optional class Node: - def __init__(self, val: bool = False, isLeaf: bool = False, - topLeft: Optional['Node'] = None, topRight: Optional['Node'] = None, - bottomLeft: Optional['Node'] = None, bottomRight: Optional['Node'] = None): + def __init__(self, val: bool = False, is_leaf: bool = False, + top_left: Optional['Node'] = None, top_right: Optional['Node'] = None, + bottom_left: Optional['Node'] = None, bottom_right: Optional['Node'] = None): self.val = val - self.isLeaf = isLeaf - self.topLeft = topLeft - self.topRight = topRight - self.bottomLeft = bottomLeft - self.bottomRight = bottomRight + self.is_leaf = is_leaf + self.top_left = top_left + self.top_right = top_right + self.bottom_left = bottom_left + self.bottom_right = bottom_right def __str__(self): - if self.isLeaf: - return f"[{int(self.val)},{int(self.isLeaf)}]" - return f"[{int(self.val)},{int(self.isLeaf)}]{self.topLeft}{self.topRight}{self.bottomLeft}{self.bottomRight}" + if self.is_leaf: + return f"[{int(self.val)},{int(self.is_leaf)}]" + return f"[{int(self.val)},{int(self.is_leaf)}]{self.top_left}{self.top_right}{self.bottom_left}{self.bottom_right}" """ # Definition for a QuadTree node. @@ -56,10 +56,10 @@ def build(x, y, size): return Node( True, # val koi bhi ho, internal node ke liye irrelevant False, # Not a leaf - topLeft=build(x, y, half), - topRight=build(x, y + half, half), - bottomLeft=build(x + half, y, half), - bottomRight=build(x + half, y + half, half) + top_left=build(x, y, half), + top_right=build(x, y + half, half), + bottom_left=build(x + half, y, half), + bottom_right=build(x + half, y + half, half) ) return build(0, 0, n) diff --git a/src/main/python/g0401_0500/s0437_path_sum_iii/Solution0437.py b/src/main/python/g0401_0500/s0437_path_sum_iii/Solution0437.py index 2fa3aa3..7e65bf4 100644 --- a/src/main/python/g0401_0500/s0437_path_sum_iii/Solution0437.py +++ b/src/main/python/g0401_0500/s0437_path_sum_iii/Solution0437.py @@ -17,20 +17,20 @@ def __init__(self, val=0, left=None, right=None): # self.left = left # self.right = right class Solution: - def pathSum(self, root: Optional[TreeNode], targetSum: int) -> int: - def dfs(node: TreeNode, targetSum: int, curr_sum: int) -> None: + def pathSum(self, root: Optional[TreeNode], target_sum: int) -> int: + def dfs(node: TreeNode, target_sum: int, curr_sum: int) -> None: if not node: return curr_sum += node.val - self.count += self.prefix_sum.get(curr_sum - targetSum, 0) + self.count += self.prefix_sum.get(curr_sum - target_sum, 0) self.prefix_sum[curr_sum] = self.prefix_sum.get(curr_sum, 0) + 1 - dfs(node.left, targetSum, curr_sum) - dfs(node.right, targetSum, curr_sum) + dfs(node.left, target_sum, curr_sum) + dfs(node.right, target_sum, curr_sum) self.prefix_sum[curr_sum] -= 1 self.count = 0 self.prefix_sum = {0: 1} - dfs(root, targetSum, 0) + dfs(root, target_sum, 0) return self.count diff --git a/src/main/python/g0401_0500/s0452_minimum_number_of_arrows_to_burst_balloons/Solution0452.py b/src/main/python/g0401_0500/s0452_minimum_number_of_arrows_to_burst_balloons/Solution0452.py index b528c0d..290282d 100644 --- a/src/main/python/g0401_0500/s0452_minimum_number_of_arrows_to_burst_balloons/Solution0452.py +++ b/src/main/python/g0401_0500/s0452_minimum_number_of_arrows_to_burst_balloons/Solution0452.py @@ -11,12 +11,12 @@ def findMinArrowShots(self, points: List[List[int]]) -> int: # Sort by ending points points.sort(key=lambda x: x[1]) - minArrows = 1 + min_arrows = 1 end = points[0][1] for i in range(1, len(points)): if points[i][0] > end: - minArrows += 1 + min_arrows += 1 end = points[i][1] - return minArrows + return min_arrows