给定大小为N的整数数组/列表(ARR)。其中N等于[2 M + 1]。现在,在给定的数组/列表中,“M”个数字出现两次,而一个数字只出现一次。查找并返回在数组/列表中唯一的数字。
注:根据给定条件,唯一元素始终存在于数组/列表中。
我已经使用WHILE循环完成了这个问题,但是当我尝试使用FOR循环时,它不起作用
而且,我已经看到了这类问题的一些代码,但因为我是一个学习者,只做了一些基本的python,所以还不知道复杂度(O^N)。
请帮助和提前感谢
WHILE循环代码:
def find_unique(li,n):
for i in range(n):
j = 0
while(j < n):
if i != j:
if li[i] == li[j]:
break
j = j + 1
if j == n:
return li[i]
n = 7
li = [2,3,1,6,3,6,2]
ele = find_unique(li,n)
print(ele)
FOR循环代码:
def find_unique(li,n):
for i in range(n):
for j in range(0,n):
if i == j:
continue
if(li[i] == li[j] and j ==n):
return li[i]
n = 7
li = [2,3,1,6,3,6,2]
ele = find_unique(li,n)
print(ele)
7条答案
按热度按时间k4emjkb11#
jq6vz3qz2#
我只是替换了一些代码
xwbd5t1u3#
qco9c6ql4#
dhxwm5r45#
由于这是一个非常特殊的情况-所有项目重复两次,只有一次例外。您可以使用此属性完成一个简单的一行程序
一旦你定义了函数-现在就使用它
rlcwz9us6#
JAVA代码:
公共类解决方案{
}
bvn4nwqk7#
验证码:
它返回数组中出现一次的个数。大小N不是必需的。Set和Count是列表变量的函数。Set返回数组中唯一的元素,count返回元素在数组中出现的次数。