This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | //Good morning! Here's your coding interview problem for today. | |
| // | |
| //This problem was asked by Uber. | |
| // | |
| //Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i. | |
| // | |
| //For example, if our input was [1, 2, 3, 4, 5], the expected output would be [120, 60, 40, 30, 24]. If our input was [3, 2, 1], the expected output would be [2, 3, 6]. | |
| // | |
| //Follow-up: what if you can't use division? | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | // sort complexity + log n - using recursive binary search | |
| func binarySearchRecursive(_ r: Int, in array: [Int]) -> Bool { | |
| if array.count == 0 { | |
| return false | |
| } else if array.count == 1 { | |
| return r == array[0] | |
| } else { | |
| let middle = array[array.count/2] | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | // Bubble Sort - n2 complexity | |
| func bubbleSorted(array: [Int]) -> [Int] { | |
| if array.count <= 1 { | |
| return array | |
| } | |
| var sorted = array | |
| (0..<sorted.count).forEach { | |
| (1..<sorted.count-$0).forEach { | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | //Good morning! Here's your coding interview problem for today. | |
| // | |
| //This problem was recently asked by Google. | |
| // | |
| //Given a list of numbers and a number k, return whether any two numbers from the list add up to k. | |
| // | |
| //For example, given [10, 15, 3, 7] and k of 17, return true since 10 + 7 is 17. | |
| // | |
| //Bonus: Can you do this in one pass? | |
| // Error | 
NewerOlder