Similar String Groups

Try to solve the Similar String Groups problem.

Statement

Two strings x and y are considered similar if they are either exactly the same or can be made identical by swapping at most two different characters in string x.

We define a similarity group as a set of strings where each string is similar to at least one other string in the group. A string doesn't need to be directly similar to every other string in the group — it just needs to be connected to them through a chain of similarities.

Given a list of strings strs, where each string is an anagram of the others, your task is to determine how many such similarity groups exist in the list.

Constraints: ...