subtree(users/wpcarro): docking briefcase at '24f5a642'
				
					
				
			git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
This commit is contained in:
		
						commit
						019f8fd211
					
				
					 766 changed files with 175420 additions and 0 deletions
				
			
		|  | @ -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