在字串中查詢是否有重複字元

2021-05-24 01:50:13 字數 488 閱讀 1146

字串型別的題目是面試筆試最青睞的型別。。。之一。最近陸陸續續重新開始看些基礎的東西,真是「三天不練手生」,很多東西都忘得差不多了。。。記錄在這裡偶爾回顧的時候還能翻來看看。貼上來的程式經過測試的,但也可能有隱藏的bug。

[方法一]

這是最節省記憶體的方法,但是效率一般般。複雜度為o(n2)。

思路是,從字串的第乙個字元開始,看後面有沒有和它相同字元。

[方法二]

此類題目追求的所謂最優解是複雜度越低越好,這個方法效率很高,o(n),空間換時間,需要輔助空間。思路是,開闢乙個具有256個元素的整型陣列,為什麼是256個元素呢,因為ascii字元一共256個(從0開始,前128個為常用的字元,如運算子、字母、數字等鍵盤上可以顯示的,後128個為特殊字元,是鍵盤上找不到的字元)。這個陣列的index就是字元的ascii碼,值就是該元素出現的次數。

只要這個次數大於1,就說明重複了。看到乙個對while迴圈的不同實現,大同小異,沒我這個直觀,但是覺得更有趣。

判斷字串是否沒有重複字元

實現乙個演算法確定字串中的字元是否均唯一出現。給出 abc 返回true 給出 aab 返回false 思路一 判斷字串是否有重複字元,類似於,刪除陣列中重複的數字 1 將字串轉成字元陣列 2 使用arrays.sort char 對字元陣列進行排序,然後,逐個遍歷整個排序後的陣列,如果不是最後乙個...

字串 01 在字串中查詢指定字元 15

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 白洪歡 浙江大學 輸入乙個字串s,再輸入乙個字元c,要求在字串s中查詢字元c。如果找不到則輸出 not found 若找到則輸出字串s中從c開始的所有字元。輸入格式 輸入在第1行中給出乙個...

python在字串中查詢字元

兩類函式 find rfind index rindex 找到了都返回下標.find找不到返回 1,index找不到丟擲valueerror.帶r的表示從右向左找.都可以使用第二個引數表示從哪個下標開始找.a abcdab a.find a out 3 0 a.rfind a out 4 4a.rf...