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。思想 從頭開始擷取字串,只要後乙個元素不在擷取的字串裡,就更新擷取...