Skip to content

Instantly share code, notes, and snippets.

@rukshn
Created December 24, 2020 10:16
Show Gist options
  • Save rukshn/260d1af9ebfa0574258e82000febb039 to your computer and use it in GitHub Desktop.
Save rukshn/260d1af9ebfa0574258e82000febb039 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/jilotavocu
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
const names = ["ruky" , "nethmi", "janith" , "rukmal", "sahan" , "rukshan"]
console.log(createBuckets(names, 0))
function createBuckets(names, indent){
const buckets = []
const output = []
var n = 0
while(n<=26){
buckets[n] = []
n++
}
for (var i = 0; i <= names.length-1; i++) {
var char = names[i].charCodeAt(indent)-97
buckets[char].push(names[i])
}
for (var i = 0; i <= buckets.length-1; i++) {
if(buckets[i].length > 1) {
const tempOutput = createBuckets(buckets[i],indent+1)
for (var o=0; o <= tempOutput.length-1;o++) {
if (tempOutput[o].length === 1) output.push(tempOutput[o])
}
} else if (buckets[i].length === 1) {
output.push(buckets[i])
}
}
return output
}
</script>
<script id="jsbin-source-javascript" type="text/javascript">const names = ["ruky" , "nethmi", "janith" , "rukmal", "sahan" , "rukshan"]
console.log(createBuckets(names, 0))
function createBuckets(names, indent){
const buckets = []
const output = []
var n = 0
while(n<=26){
buckets[n] = []
n++
}
for (var i = 0; i <= names.length-1; i++) {
var char = names[i].charCodeAt(indent)-97
buckets[char].push(names[i])
}
for (var i = 0; i <= buckets.length-1; i++) {
if(buckets[i].length > 1) {
const tempOutput = createBuckets(buckets[i],indent+1)
for (var o=0; o <= tempOutput.length-1;o++) {
if (tempOutput[o].length === 1) output.push(tempOutput[o])
}
} else if (buckets[i].length === 1) {
output.push(buckets[i])
}
}
return output
}
</script></body>
</html>
const names = ["ruky" , "nethmi", "janith" , "rukmal", "sahan" , "rukshan"]
console.log(createBuckets(names, 0))
function createBuckets(names, indent){
const buckets = []
const output = []
var n = 0
while(n<=26){
buckets[n] = []
n++
}
for (var i = 0; i <= names.length-1; i++) {
var char = names[i].charCodeAt(indent)-97
buckets[char].push(names[i])
}
for (var i = 0; i <= buckets.length-1; i++) {
if(buckets[i].length > 1) {
const tempOutput = createBuckets(buckets[i],indent+1)
for (var o=0; o <= tempOutput.length-1;o++) {
if (tempOutput[o].length === 1) output.push(tempOutput[o])
}
} else if (buckets[i].length === 1) {
output.push(buckets[i])
}
}
return output
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment