Add coding exercises for Facebook interviews
Add attempts at solving coding problems to Briefcase.
This commit is contained in:
		
							parent
							
								
									d2d772e43e
								
							
						
					
					
						commit
						aa66d9b83d
					
				
					 66 changed files with 2994 additions and 0 deletions
				
			
		
							
								
								
									
										19
									
								
								scratch/facebook/recursive-string-permutations.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								scratch/facebook/recursive-string-permutations.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| # permutations: no repeat characters | ||||
| 
 | ||||
| def char_and_rest(i, xs): | ||||
|     return xs[i], xs[0:i] + xs[i + 1:] | ||||
| 
 | ||||
| def permutations(xs): | ||||
|     if len(xs) == 1: | ||||
|         return [xs] | ||||
|     result = [] | ||||
|     for c, rest in [char_and_rest(i, xs) for i in range(len(xs))]: | ||||
|         result += [c + perm for perm in permutations(rest)] | ||||
|     return result | ||||
| 
 | ||||
| expected = ["cat", "cta", "act", "atc", "tca", "tac"] | ||||
| result = permutations("cat") | ||||
| print(result, expected) | ||||
| assert len(result) == len(expected) | ||||
| assert result == expected | ||||
| print("Success!") | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue