Splice ./universe directory into ./
Manually merging: - README.md: I added the description from universe/README.md into the heading of dotfiles/README.md. - .envrc: dotfiles/.envrc was a superset of universe/.envrc - .gitignore: Adding some of the ignored patterns from universe/.gitignore to dotfiles/.gitignore Everything else here should be a simple rename.
This commit is contained in:
		
							parent
							
								
									fb9380ba26
								
							
						
					
					
						commit
						5c9079a410
					
				
					 133 changed files with 17 additions and 7979 deletions
				
			
		|  | @ -1,78 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # Write a function with the following type signature:L | ||||
| # equal? :: String -> String -> Bool | ||||
| # | ||||
| # Determine equality between two inputs with backspace characters encoded as | ||||
| # "<". | ||||
| 
 | ||||
| ################################################################################ | ||||
| # Solution 1 | ||||
| ################################################################################ | ||||
| 
 | ||||
| # from collections import deque | ||||
| 
 | ||||
| # def equal(a, b): | ||||
| #     sa = deque() | ||||
| #     sb = deque() | ||||
| 
 | ||||
| #     for c in a: | ||||
| #         if c == '<': | ||||
| #             sa.pop() | ||||
| #         else: | ||||
| #             sa.append(c) | ||||
| 
 | ||||
| #     for c in b: | ||||
| #         if c == '<': | ||||
| #             sb.pop() | ||||
| #         else: | ||||
| #             sb.append(c) | ||||
| 
 | ||||
| #     return sa == sb | ||||
| 
 | ||||
| ################################################################################ | ||||
| # Solution 2 | ||||
| ################################################################################ | ||||
| 
 | ||||
| def handle_dels(num_dels, i, xs): | ||||
|     if i < 0: | ||||
|         return -1 | ||||
| 
 | ||||
|     while xs[i] == '<': | ||||
|         num_dels += 1 | ||||
|         i -= 1 | ||||
| 
 | ||||
|     while num_dels > 0 and xs[i] != '<': | ||||
|         num_dels -= 1 | ||||
|         i -= 1 | ||||
| 
 | ||||
|     if xs[i] == '<': | ||||
|         return handle_dels(num_dels, i, xs) | ||||
|     else: | ||||
|         return i | ||||
| 
 | ||||
| def update_index(i, xs): | ||||
|     # TODO: Indexing into non-available parts of a string. | ||||
|     if xs[i] != '<' and xs[i - 1] != '<': | ||||
|         return i - 1 | ||||
| 
 | ||||
|     elif xs[i - 1] == '<': | ||||
|         return handle_dels(0, i - 1, xs) | ||||
| 
 | ||||
| def equal(a, b): | ||||
|     ia = len(a) - 1 | ||||
|     ib = len(b) - 1 | ||||
| 
 | ||||
|     while ia >= 0 and ib >= 0: | ||||
|         if a[ia] != b[ib]: | ||||
|             return False | ||||
|         ia = update_index(ia, a) | ||||
|         ib = update_index(ib, b) | ||||
| 
 | ||||
|     if ia != 0: | ||||
|         return update_index(ia, a) <= -1 | ||||
|     if ib != 0: | ||||
|         return update_index(ib, b) <= -1 | ||||
| 
 | ||||
|     return True | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue