Quick actions

cmd+k|ctrl+k

Navigation

Languages

Find First Unique

Snippet info

Language

JavaScript

Visibility

public

Author

pheker

Created

2017-07-23T13:43:53Z

Updated

2017-07-23T14:54:32Z

/** 
 * 计算耗时 
 */
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")
//         );
//     })
// )


INFO