added more solution approach with well comments to understand#90
Open
AnishMandal939 wants to merge 1 commit intocareercup:masterfrom
Open
added more solution approach with well comments to understand#90AnishMandal939 wants to merge 1 commit intocareercup:masterfrom
AnishMandal939 wants to merge 1 commit intocareercup:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
// So we have two methods to one by creating extra space annd without creating extra space
// with extra spaces
let uniqueChars = (str) =>{
// creating a empty variable to map
let characters = {};
// iterate through all characters of the string and start inserting them one by one characters tabole
for(var i = 0; i < str.length; i++){
// check if string already present in characters variable
if(characters[str[i]] != null) {
// if present repetation of character than return false
characters[str[i]] = 1;
return false;
}else{
// !present duplicate characters than return true
characters[str[i]] = 0;
}
// Since we are iterating trough each element of string only once string of length 1 average and worst case time complexity is O(n)
// without extra spaces
let uniqueChar = (str) => {
// iterate through string
for(let i =0; i< str.length; i++){
// checking against the subsequent characters & iterating through them
for(let j = i+1; j <=str.length-1; j++){
if(str[i] == str[j]){
return false;
}
}
}
return true;
}
/* TESTS */
console.log(everyCharUnique('abcd'), 'true');
console.log(everyCharUnique('abccd'), 'false');
console.log(everyCharUnique('bhjjb'), 'false');
console.log(everyCharUnique('mdjq'), 'true');
console.log(everyCharUniques('mdjq'), 'true');
console.log(uniqueChars('hello'), 'false');
console.log(uniqueChars('anish'), 'true');
console.log(uniqueChar('hello'), 'false');
console.log(uniqueChar('anish'), 'true');