git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			689 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			689 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| def hi_product(xs):
 | |
|     lowest_one, highest_one = min(xs[0], xs[1]), max(xs[0], xs[1])
 | |
|     lowest_two, highest_two = xs[0] * xs[1], xs[0] * xs[1]
 | |
|     highest = float('-inf')
 | |
|     for x in xs[2:]:
 | |
|         highest = max(highest, highest_two * x, lowest_two * x)
 | |
|         lowest_one = min(lowest_one, x)
 | |
|         highest_one = max(highest_one, x)
 | |
|         lowest_two = min(lowest_two, highest_one * x, lowest_one * x)
 | |
|         highest_two = max(highest_two, highest_one * x, lowest_one * x)
 | |
|     return highest
 | |
| 
 | |
| xs = [([-10,-10,1,3,2], 300),
 | |
|       ([1,10,-5,1,-100], 5000)]
 | |
| 
 | |
| for x, expected in xs:
 | |
|     result = hi_product(x)
 | |
|     print(x, result)
 | |
|     assert result == expected
 | |
|     print("Success!")
 |