Nanosoft Technologies - Chennai Interview Question
Web DevelopersTeam: EPUB
Country: India
Interview Type: In-Person
var findStr = function(data){
var str = '';
console.log('non repeated number ' + recursion(str, data));
}
function recursion(str, data){
var temp = data.charAt(0);
var startIndex = data.indexOf(temp);
var tsize = data.length -1;
if(data.length == 0){
return str;
}else{
if(str.indexOf(temp) == -1){
str = str+temp;
}
return recursion(str, data.slice(++startIndex, tsize));
}
}
var findStr = function(data){
var str = '';
console.log('non repeated number ' + recursion(str, data));
}
function recursion(str, data){
var temp = data.charAt(0);
var startIndex = data.indexOf(temp);
var tsize = data.length -1;
if(data.length == 0){
return str;
}else{
if(str.indexOf(temp) == -1){
str = str+temp;
}
return recursion(str, data.slice(++startIndex, tsize));
}
}
public class RemoveDup {
static String temp="";
public static void main(String args[]){
String a = "xxxyyyyzzzz";
System.out.println(fun(a));
}
static String fun(String a) {
if(a.length()>0){
CharSequence c = a.subSequence(0, 1);
if(!temp.contains(c))
temp += c.toString();
fun(a.substring(1));
}
return temp;
}
}
function removeDuplicates(S, i, set, solution){
if (i === S.length){
return solution;
}
else {
c = S[i];
if (!set[c]){
set[c] = true;
return removeDuplicates(S, i + 1, set, solution + c);
}
else {
return removeDuplicates(S, i + 1, set, solution);
}
}
}
removeDuplicates("xxxxxyyyyzz", 0, {}, "")
function removeDuplicates(word, start){
if(word==null){
console.log("input is incorrect");
return;
}
if(word.length==0){
console.log("Wrong input, blank word");
return;
}
if(start==word.length){
console.log('finished here');
return word;
}
var charLooked = word.charAt(start);
var restOfWord = word.substring(start+1, word.length);
if(restOfWord.indexOf(charLooked)==-1){
return removeDuplicates(word,start+1);
}
var i;
for(i = start+1; i<word.length; i++){
if(word.charAt(i)==charLooked){
word = word.substring(0, i-1) + word.substring(i, word.length);
if(word.indexOf(charLooked)==-1){
return removeDuplicates(word, start+1);
}
else return removeDuplicates(word, start);
}
}
}
function removeDuplicates(word, start){
if(word==null){
console.log("input is incorrect");
return;
}
if(word.length==0){
console.log("Wrong input, blank word");
return;
}
if(start==word.length){
console.log('finished here');
return word;
}
var charLooked = word.charAt(start);
var restOfWord = word.substring(start+1, word.length);
if(restOfWord.indexOf(charLooked)==-1){
return removeDuplicates(word,start+1);
}
var i;
for(i = start+1; i<word.length; i++){
if(word.charAt(i)==charLooked){
word = word.substring(0, i-1) + word.substring(i, word.length);
if(word.indexOf(charLooked)==-1){
return removeDuplicates(word, start+1);
}
else return removeDuplicates(word, start);
}
}
}
- Prad121 April 16, 2015