I had a spare fifteen minutes and decided that I should tidy up my monorepo. The work of tidying up is not finished; this is a small step in the right direction. TL;DR - Created a tools directory - Created a scratch directory (see README.md for more information) - Added README.md to third_party - Renamed delete_dotfile_symlinks -> symlinkManager - Packaged symlinkManager as an executable symlink-mgr using buildGo
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			Python
		
	
	
	
	
	
class Node(object):
 | 
						|
    def __init__(self, value, children=[]):
 | 
						|
        self.value = value
 | 
						|
        self.children = children
 | 
						|
 | 
						|
 | 
						|
################################################################################
 | 
						|
# Solution
 | 
						|
################################################################################
 | 
						|
def trip_time(node):
 | 
						|
    s = []
 | 
						|
    result = 0
 | 
						|
    s.append((node.value, node))
 | 
						|
    while s:
 | 
						|
        p, node = s.pop()
 | 
						|
        if not node.children:
 | 
						|
            result = max(result, p)
 | 
						|
        for x in node.children:
 | 
						|
            s.append((p + x.value, x))
 | 
						|
    return result
 | 
						|
 | 
						|
 | 
						|
################################################################################
 | 
						|
# Tests
 | 
						|
################################################################################
 | 
						|
tree = Node(
 | 
						|
    0,
 | 
						|
    children=[
 | 
						|
        Node(5, children=[Node(6)]),
 | 
						|
        Node(2, children=[
 | 
						|
            Node(6),
 | 
						|
            Node(10),
 | 
						|
        ]),
 | 
						|
        Node(3, children=[Node(2, children=[Node(11)])]),
 | 
						|
    ])
 | 
						|
 | 
						|
assert trip_time(tree) == 16
 | 
						|
print("Tests pass!")
 |