Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Sum of Distinct Cubes by kavishhh
def sum_of_cubes(n: int) -> list[int] | None:
def helper(remaining, max_cube):
if remaining == 0:
return []
if remaining < 0 or max_cube == 0:
return None
for i in range(max_cube, 0, -1):
cube = i ** 3
if cube > remaining:
continue
rest = helper(remaining - cube, i - 1)
if rest is not None:
return [i] + rest
return None
max_possible = int(round(n ** (1/3)))
while max_possible ** 3 > n:
max_possible -= 1
return helper(n, max_possible)
Dec. 1, 2025