文巾解题 面试题 01.01. 判定字符是否唯一
生活随笔
收集整理的這篇文章主要介紹了
文巾解题 面试题 01.01. 判定字符是否唯一
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 題目描述
?2 解題思路
2.1 set
lass Solution:def isUnique(self, astr: str) -> bool:l1=len(astr)l2=len(set(astr))return l1==l22.2 位運算
設置一個數字,他轉化為二進制之后有26位? ?每一位一開始都是0,如果這個數字第一次出現,也就是對應的這一位設置為1;如果這個數字第二次出現,那么返回False
class Solution:def isUnique(self, astr: str) -> bool:tmp=0for i in astr:num=ord(i)-ord('a')if((tmp>>num) & 1 ==1):return(False)else:tmp=tmp | (1<<num)return(True)2.3 Replace
從后往前,每次將最后的那個字符replace成‘’,看每次減少的字符串長度是否為1
class Solution:def isUnique(self, astr: str) -> bool:l=len(astr)for i in range(l-1,-1,-1):print(i,astr)l=len(astr)astr=astr.replace(astr[i],'')l2=len(astr)if(l-l2==1):passelse:return(False)return(True) class Solution:def isUnique(self, astr: str) -> bool:for i in astr:len1=len(astr)astr=astr.replace(i,'')len2=len(astr)if(len1-len2==1):passelse:return Falsereturn True?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的文巾解题 面试题 01.01. 判定字符是否唯一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 136. 只出现一次的数字
- 下一篇: 文巾解题 面试题 01.02. 判定是否