このアルゴリズムは参照用です。 Xiaocaiは基本的に高度なアルゴリズムを理解しておらず、最も単純なアイデアでのみ表現することができます。
コードコピーは次のとおりです。
//文字列内の最初の非回復文字を見つけます
// firstuniquechar( "vdctdvc"); - > t
first firstuniquechar(str){
var str = str || ""、
i = 0、
k = ""、
_Char = ""、
charmap = {}、
result = {name: ""、index:str.length};
for(i = 0; i <str.length; i ++){
_Char = str.Charat(i);
if(charmap [_ char]!= undefined){
charmap [_ char] = -1;
}それ以外{
charmap [_ char] = i;
}
}
(charmapのk){{
if(charmap [k] <0){
続く;
}
if(result.index> charmap [k]){
result.index = charmap [k];
result.name = k;
}
}
return result.name;
}
より良いアイデアがある場合は、メッセージを教えてください。とても感謝しています。