找出字串中第乙個不重複的字元

2021-08-19 20:31:52 字數 773 閱讀 1309

leetcode原題位址

將字串轉換成字元陣列

使用兩層迴圈遍歷,最終根據第二層迴圈退出時的下標值來判斷是否是不重複的字元

我的**:
public

intfirstuniqchar(string s)

if(temp[i] == temp[j])

}if(j == length)

}if( i == length)

return result;

}

時間複雜度高 o(

n2)

在給出的字串中查詢26個英文本母第一次和最後一次出現的位置,如果兩次位置相同則表明該字元沒有重複。

需要注意的地方:

1.每次找到的字元位置不一定是該字串中第乙個不重複的字元,因此只有對26個字母都查詢一邊,每次記錄下字元出現的位置,最終取最小值,才能得到第一次不重複出現的字元位置。

執行效率更高的**:
public

intfirstuniqchar(string s)

}if(result == s.length())

return result;

}

此處題目引用自leetcode,較好演算法引自leetcode執行時間最短的提交。

找出給定字串中第乙個不重複的字元

給定一串字串,找出其中第乙個不重複的字元。如 輸入 abcddcaeb1 soop 輸出 e 思路 定義liststore和liststoredel,對輸入字串str進行遍歷,對str的每乙個字元,分別在store和storedel中查詢,如果在store中存在該字元,則把store中的該字元刪除,...

字串 第乙個不重複的字元

有關這個題目可以有很多的考察方式,但是本質的乙個方法就是利用hash表,來降低時間複雜度。先看第乙個題目,給定乙個字串,找到這個字串的第乙個不重複的字元 在乙個字串 1 字串長度 10000,全部由字母組成 中找到第乙個只出現一次的字元的位置。若為空串,返回 1。位置索引從0開始。所以 實現 int...

找出字串的最長不重複字串

這是我遇到的一道校招題目 給定一字串只包含數字,請寫乙個演算法,找出該字串中的最長不重複子串 不重複是指子串中每一元素不同於子串中其他元素 如 120135435 最長不重複子串為 201354 要求用j a或者c來寫,我用了j a。思想 從頭開始擷取字串,只要後乙個元素不在擷取的字串裡,就更新擷取...