擅长:python、mysql、java
<p>也许将你的<code>string</code>旋转到一个特定的值,例如最小的可能旋转,比那些最小的旋转是唯一的,并且可以很容易地放入一个集合中。在</p>
<p>下面是一个示例实现,“rotate_to_minimum”可能会得到改进。在</p>
<pre><code>my_strings = ['1234', '123', '2341', '4312', '312', '56', '65', '1236']
def rotate_to_smallest(x):
smallest = x
for i in xrange(1, len(x)):
rotation = x[i :] + x[: i]
if rotation < smallest:
smallest = rotation
return smallest
def unique_rotations(my_strings):
uniques = set(())
for s in my_strings:
smallest_rotation = rotate_to_smallest(s)
if smallest_rotation not in uniques:
uniques.add(smallest_rotation)
return uniques
</code></pre>
<p>结果:</p>
^{pr2}$