Skip to content

Commit 84ffa7a

Browse files
authored
Added tests 416-543
1 parent 3b36810 commit 84ffa7a

File tree

10 files changed

+104
-0
lines changed

10 files changed

+104
-0
lines changed

src/main/python/g0401_0500/s0416_partition_equal_subset_sum/Solution0416.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# #Medium #Top_100_Liked_Questions #Array #Dynamic_Programming #Level_2_Day_13_Dynamic_Programming
22
# #Big_O_Time_O(n*sums)_Space_O(n*sums) #2025_07_25_Time_564_ms_(63.45%)_Space_18.06_MB_(74.36%)
33

4+
from typing import List
5+
46
class Solution:
57
def canPartition(self, nums: List[int]) -> bool:
68
sums = sum(nums)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import unittest
2+
from Solution0416 import Solution
3+
4+
class SolutionTest(unittest.TestCase):
5+
def test_canPartition(self):
6+
self.assertEqual(Solution().canPartition([1, 5, 11, 5]), True)
7+
8+
def test_canPartition2(self):
9+
self.assertEqual(Solution().canPartition([1, 2, 3, 5]), False)

src/main/python/g0401_0500/s0437_path_sum_iii/Solution0437.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
# #LeetCode_75_Binary_Tree/DFS #Level_2_Day_7_Tree #Big_O_Time_O(n)_Space_O(n)
33
# #2025_07_26_Time_0_ms_(100.00%)_Space_18.23_MB_(71.00%)
44

5+
from typing import Optional
6+
7+
class TreeNode:
8+
def __init__(self, val=0, left=None, right=None):
9+
self.val = val
10+
self.left = left
11+
self.right = right
12+
513
# Definition for a binary tree node.
614
# class TreeNode:
715
# def __init__(self, val=0, left=None, right=None):
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import unittest
2+
from Solution0437 import Solution, TreeNode
3+
4+
def build_tree(values):
5+
if not values:
6+
return None
7+
root = TreeNode(values[0])
8+
queue = [root]
9+
i = 1
10+
while queue and i < len(values):
11+
node = queue.pop(0)
12+
if i < len(values) and values[i] is not None:
13+
node.left = TreeNode(values[i])
14+
queue.append(node.left)
15+
i += 1
16+
if i < len(values) and values[i] is not None:
17+
node.right = TreeNode(values[i])
18+
queue.append(node.right)
19+
i += 1
20+
return root
21+
22+
class SolutionTest(unittest.TestCase):
23+
def test_path_sum(self):
24+
tree = build_tree([10, 5, -3, 3, 2, None, 11, 3, -2, None, 1])
25+
self.assertEqual(Solution().pathSum(tree, 8), 3)
26+
27+
def test_path_sum2(self):
28+
tree = build_tree([5, 4, 8, 11, None, 13, 4, 7, 2, None, None, 5, 1])
29+
self.assertEqual(Solution().pathSum(tree, 22), 3)

src/main/python/g0401_0500/s0438_find_all_anagrams_in_a_string/Solution0438.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# #Level_1_Day_12_Sliding_Window/Two_Pointer #Big_O_Time_O(n+m)_Space_O(1)
44
# #2025_07_25_Time_54_ms_(54.80%)_Space_18.16_MB_(94.43%)
55

6+
from typing import List
67
from collections import defaultdict
78

89
class Solution:
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import unittest
2+
from Solution0438 import Solution
3+
4+
class SolutionTest(unittest.TestCase):
5+
def test_findAnagrams(self):
6+
self.assertEqual(Solution().findAnagrams("cbaebabacd", "abc"), [0, 6])
7+
8+
def test_findAnagrams2(self):
9+
self.assertEqual(Solution().findAnagrams("abab", "ab"), [0, 1, 2])

src/main/python/g0401_0500/s0494_target_sum/Solution0494.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# #Medium #Array #Dynamic_Programming #Backtracking #Big_O_Time_O(n*(sum+s))_Space_O(n*(sum+s))
22
# #2025_07_25_Time_59_ms_(77.59%)_Space_18.11_MB_(61.50%)
33

4+
from typing import List
5+
46
class Solution:
57
def findTargetSumWays(self, nums: List[int], target: int) -> int:
68
total_sum = sum(nums)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import unittest
2+
from Solution0494 import Solution
3+
4+
class SolutionTest(unittest.TestCase):
5+
def test_findTargetSumWays(self):
6+
self.assertEqual(Solution().findTargetSumWays([1, 1, 1, 1, 1], 3), 5)
7+
8+
def test_findTargetSumWays2(self):
9+
self.assertEqual(Solution().findTargetSumWays([1], 1), 1)

src/main/python/g0501_0600/s0543_diameter_of_binary_tree/Solution0543.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
# #Udemy_Tree_Stack_Queue #Big_O_Time_O(n)_Space_O(n)
33
# #2025_07_25_Time_3_ms_(94.30%)_Space_20.69_MB_(95.89%)
44

5+
from typing import Optional
6+
7+
class TreeNode:
8+
def __init__(self, val=0, left=None, right=None):
9+
self.val = val
10+
self.left = left
11+
self.right = right
12+
513
# Definition for a binary tree node.
614
# class TreeNode:
715
# def __init__(self, val=0, left=None, right=None):
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import unittest
2+
from Solution0543 import Solution, TreeNode
3+
4+
def build_tree(values):
5+
if not values:
6+
return None
7+
root = TreeNode(values[0])
8+
queue = [root]
9+
i = 1
10+
while queue and i < len(values):
11+
node = queue.pop(0)
12+
if i < len(values) and values[i] is not None:
13+
node.left = TreeNode(values[i])
14+
queue.append(node.left)
15+
i += 1
16+
if i < len(values) and values[i] is not None:
17+
node.right = TreeNode(values[i])
18+
queue.append(node.right)
19+
i += 1
20+
return root
21+
22+
class SolutionTest(unittest.TestCase):
23+
def test_diameterOfBinaryTree(self):
24+
self.assertEqual(Solution().diameterOfBinaryTree(build_tree([1, 2, 3, 4, 5])), 3)
25+
26+
def test_diameterOfBinaryTree2(self):
27+
self.assertEqual(Solution().diameterOfBinaryTree(build_tree([1, 2])), 1)

0 commit comments

Comments
 (0)