Ad
  • Custom User Avatar

    This is pass by value (primative int type), so it's not mutating the original external variable, only the value within the function. I see no great harm in changing it's value internally within such a small function since the algorithm does not require retaining the original value of n.

  • Custom User Avatar

    Yeah, that was my concern with this one as well. Though clever, it's a quadric runtime rather than the more brute force single loop through the list of characters, storing which ones were seen in a hash map, then incrementing a counter whenever you see a letter twice for the first time. It's more code and less clever, but would be linear complexity..