Yep, this is O(n²) for the reason you explained.
And I disagree with RazNaot, just because you can solve a problem inefficiently doesn't mean you should. The goal of this website is to improve at programming.
Using & operator with two sets creates a new set containing the elements present in both sets.
https://docs.python.org/3/library/stdtypes.html#set for more infos. :)
This comment is hidden because it contains spoiler information about the solution
You got advantage of dictionary duplicate updation behaviour .. good one
Oh, I see. Thank you.
The custom in this site for the easier katas, is not to be restricted by performance and memory constraints. At most katas leveled kyu 8 to kyu 6, almost all algorithms will work. They are meant to be easy training, with fewer and smaller test cases - so just do something that works and you'll pass. The harder katas - around kyu 5,4 and up may require "performance" - i.e. slower algos may fail etc. Browse "Kata" on the top left menu to get to harder questions...
Did anyone check the complexity of this solution?
It's very short and nice, but is it optimal in terms of CPU/RAM usage?
As I can see we will get one list traversal for getting a set. Then we will get a traversal per each element in the set. Which i think is suboptimal.