Apple Interview Question
Team: QA
Country: United States
Interview Type: In-Person
public static int getSubStringStartingPosition(char[] st1, char[] st2)
{
int pos=0;
boolean flag=false;
int k=0;
for (int i=0; i<=st1.length-1; ++i)
{
if ((k <= st2.length-1) && (st1[i]==st2[k]))
{
if (!flag)
{
pos=i;
}
flag=true;
k++;
}
else
{
System.out.println("not found.."+st1[i]);
if (flag && k <=st2.length-1)
{
System.out.println("found an extra character in the middle..");
pos=0;
}
}
}
return pos;
}
bool FindSubString(char* mainstr, char* str)
{
char* start_ptr = mainstr;
char* itr_ptr = mainstr;
char* substr = str;
while(*start_ptr != '\0')
{
substr = str;
while(*substr != '\0' && (*itr_ptr++ == *substr++));
if(*substr == '\0')
return true;
start_ptr++;
itr_ptr = start_ptr;
}
return false;
}
bool FindSubString(char* mainstr, char* str)
{
char* start_ptr = mainstr;
char* itr_ptr = mainstr;
char* substr = str;
while(*start_ptr != '\0')
{
substr = str;
while(*substr != '\0' && (*itr_ptr++ == *substr++));
if(*substr == '\0')
return true;
start_ptr++;
itr_ptr = start_ptr;
}
return false;
}
using suffix array we can find the starting index of sub string.
- siva April 09, 2012