Find the unique number
Instructions
There is an array with some numbers. All numbers are equal except for one. Try to find it!
find_uniq([ 1, 1, 1, 2, 1, 1 ]) == 2
find_uniq([ 0, 0, 0.55, 0, 0 ]) == 0.55
Sample Tests
try:
import codewars_test as test
except:
pass
@test.describe(“Basic Tests”)
def f():
@test.it(“Simple tests”)
def _():
test.assert_equals(find_uniq([ 1, 1, 1, 2, 1, 1 ]), 2)
test.assert_equals(find_uniq([ 0, 0, 0.55, 0, 0 ]), 0.55)
test.assert_equals(find_uniq([ 3, 10, 3, 3, 3 ]), 10)
orgorithm analysis
排序;遍历;取值判断
code
def find_uniq(arr = [2,2,2,2,3,2,2]):
sort = sorted(arr)
if sort[0] == sort[1]:
return sort[-1]
return sort[0]
小结
set([iterable])内置函数,利用集合的性质去重是比较好的思路。