找到陣列中第乙個不重複出現的整數 python

2021-08-27 18:00:23 字數 1494 閱讀 2326

碼住

# -*- coding:utf-8 -*-

"""找到陣列中第乙個不重複出現的整數 python

"""# 組中不重複的數只有乙個,初始值為0,然後直接遍歷陣列,讓每個值與初始值進行異或,得出的最終值就是要找的結果:

import collections

deffindnoduponlyone

(data):

single = 0

for v in data:

single = single ^ v

return single

# 陣列中不重複的數大於乙個,則可以遍歷一次陣列,使用乙個map記錄數與數出現的次數;接著,再遍歷一次map,找出次數為1的數,即為我們要找的數:

# 找到第乙個不重複的數字 負數會出bug

deffindnodupmany

(data):

single = 0

map = {}

for i in range(len(data)):

if data[i] in map:

map[data[i]] += 1

else:

map[data[i]] = 1

for key in map:

if map[key] == 1:

single = key

break

return single

# 找到第乙個重複的數字

deffindfirstdup

(self, numbers, duplication):

# write code here

numbers_set = set()

for i in numbers:

if i not

in numbers_set:

numbers_set.add(i)

else:

duplication[0] = i

return

true

return

false

# 找到第乙個不重複的數字 ordereddict

deffindfirstnodupmany

(data):

single = 0

map = collections.ordereddict()

for i in range(len(data)):

if data[i] in map:

map[data[i]] += 1

else:

map[data[i]] = 1

for key in map:

if map[key] == 1:

single = key

break

return single

data = [-10, -1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6]

print(findfirstnodupmany(data))

演算法 字串中第乙個不重複出現的元素

給定乙個字串,找出第乙個不重複出現的字元,並返回 其位置下標,否則返回 1。如,s leetcode return 0.s loveleetcode return 2.假設字串僅包含小寫字母。比較好的方法是線性演算法,無論如何,為確認字元只出現一次,我們都 得遍歷整個字串。我們可以訪問每個字元,把它...

第乙個非重複出現的字元

給乙個字串,從中找出第乙個只出現一次的字元。輸入字串 abcsgagc 輸出字元 b 使用等長度的陣列w作為輸入字串a的衛星資料,其中存放對應字元是否重複出現的標誌。初始化為0,當對應字元重複出現時將對應位賦值為1。函式mm char a,int m,int length,int w 判斷第m位字元...

字串處理 找到第乙個不重複的

實際上字串的處理一直是各種測試的難點。為什麼叫難點呢?因為很多字串處理,會因為處理方法的不同而導致記憶體和時間的花費差異巨大。所以說這也是別人經常說的乙個考點。今天博主也隨意寫了乙個字串的處理問題。問題描述 編寫乙個高效的函式,找到字串中首個非重複的字元。例如 tatol 首個非重複的字元時a,te...