题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
方法一:使用计数count
def f(array):
#n=len(array)
l=[]
# array=list(map(str,array))
for i in array:
if array.count(i)==1:
l.append(i)
return l
array=[2,2,3,3,4,5,3,6,6]
print(f(array))
方法二:字典
def f(array):
n=len(array)
l=[]
#字典
dic={}
for i in range(n):
if array[i] not in dic:
dic[array[i]]=1
else:
dic[array[i]]+=1
for k,v in dic.items():
# print(k,v)
if v==1:
l.append(k)
return l
array=[2,2,3,3,4,5,3,6,6]
print(f(array))
难度简单124
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
s = "abaccdeff" 返回 "b" s = "" 返回 " "
class Solution:
def firstUniqChar(self, s: str) -> str:
if not s:
return " "
d={}
for i in s:
if i not in d:
d[i]=1
else:
d[i]+=1
for i in s:
if d[i]==1:
return i
return " "
class Solution:
def firstUniqChar(self, s: str) -> str:
if not s:
return " "
d={}
for i in s:
d[i]=not i in d
for k,v in d.items():
if v:
return k
return " "