added more solution approach with well comments to understand #90
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');