daily log 11.02.20

less than 1 minute read

CTCI

NOTE: Quick 25 min attempt at both problems, no focus on optimization


function isUnique(string){
    var dict = {}
    var split_string = string.split('')
    for(var i=0; i<split_string.length; i++){
        if (split_string[i] in dict) {
            return false
        } else {
            dict[string[i]] = 1
        }
    }
    return true
}


isUnique('abcdefg')
// isUnique('aaa')


function isPermutation(str1, str2){
    var dict = {}
    var split_string = str1.split('')
    for (var i=0; i<split_string.length; i++){
        if(split_string[i] in dict){
            dict[split_string[i]] = dict[split_string[i]] + 1
        } else {
            dict[split_string[i]] = 1
        }
    }

    var dict2 = {}
    var split_string2 = str2.split('')
    for (var j=0; j<split_string2.length; j++){
        if(split_string2[j] in dict2){
            dict2[split_string2[j]] = dict2[split_string2[j]] + 1
        } else {
            dict2[split_string2[j]] = 1
        }
    }
    
    for (var k=0; k<split_string.length; k++){
        if(split_string[k] in dict2){
            if(dict[split_string[k]] != dict2[split_string[k]]){return false}
        } else {
            return false
        }
    }
    return true 
}


isPermutation('tacocat', 'ccaatto')
// isPermutation('tacocat', 'ccaatt')