Ad
  • Custom User Avatar

    This would be the best, yes, but there's one more, easier possibility. You can change the outer loop in a way that even if you keep both the loop and count, your solution would be reduced to O(n).

    Getting back to my example: how many times do you need to count occurrences of 'a' in both strings to know the answer? How many times does your solution count occurrences of 'a'?

  • Custom User Avatar

    Let's say that you have following inputs:

    s1 = "a" * 100_000
    s2 = "a" * 100_000
    

    What would be an expected answer? Would you have an idea why your solution is slow for this input, and how to make it faster?

  • Custom User Avatar

    Hi;

    In the Python version of this kata there are several random tests at the end of the test suite with over 100,000+ elements in each string (s1 and s2).

    Your current approach is "correct" - the logic is correct - and will work OK for small input string lengths, but it will fail for such large tests.

    The reason why is that you are iterating over every element of s1 for every element of s2 - in other words you are performing up to 100,000 * 100,000 operations which is a huge number.

    Basically, you need to find a more efficient approach that does not require so many calculations.