/**
* 计算耗时
*/
function ElapsedTime(cb){
let startTime = new Date().getTime();
cb&&cb();
return new Date().getTime()-startTime;
}
// Find first non-repeating character in a string
function findUnique(str) {
if (!str) return false;
let uniqueArr = str.split('').filter(v=>str.split(v).length<3);
return uniqueArr?uniqueArr[0]:false;
}
/**
* the second method
*/
function findUnique2(str) {
if (!str) return false;
var unique;
for (var i = 0; i < str.length; i++) {
unique = true;
for (var j = 0; j < str.length; j++) {
if (str[i].toLowerCase() == str[j].toLowerCase() && i != j) unique = false;
}
if (unique) return str[i];
}
return false;
}
// 耗时测试 str length more and unique character index more,Elapsed Time will be more
//
let str = 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddddddddddddddddddddaddddddrrrrrrrrrrrrrrrrrrrrdre';
// let str = 'racecar';
console.time("first:")
console.log(
findUnique(str)
);
console.timeEnd("first:");
console.time("second:")
console.log(
findUnique2(str)
);
console.timeEnd("second:");
//
// console.log("first:\t",
// ElapsedTime(()=>{
// console.log(
// findUnique("racecar")
// );
// })
// )
exports.ElapsedTime = ElapsedTime;