Google Interview Question
SDE1sCountry: United States
boolean isValid(String pattern, String matcher)
{
for(int i=0,j=0;i<pattern.length()&&;j<matcher.length();i++,j++)
{
if(Character.isDigit(pattern.charAt(i))
{
int number=Integer.parseInt(pattern.charAt(i));
if(number==1)
continue;
while(number>1)
j++;
}
else if(patter.chartAt[i]!= matcher.charAt[i])
return false;
else
return true;
}
public static boolean isValid(String pattern, String matcher)
{
for(int i=0,j=0;i<pattern.length()&&j<matcher.length();i++,j++)
{
if(Character.isDigit(pattern.charAt(i)))
{
int number=Integer.parseInt(pattern.charAt(i));
if(number==1)
continue;
while(number>1)
j++;
}
else if(patter.chartAt[i]!= matcher.charAt[i])
return false;
else
return true;
}
}
public static boolean isValid(String pattern, String matcher)
{
for(int i=0,j=0;i<pattern.length()&&j<matcher.length();i++,j++)
{
if(Character.isDigit(pattern.charAt(i)))
{
int number=Integer.parseInt(pattern.charAt(i));
if(number==1)
continue;
while(number>1)
j++;
}
else if(patter.chartAt[i]!= matcher.charAt[i])
return false;
else
return true;
}
}
public boolean isMatch(@Nonnull final String matcher, @Nonnull final String text) {
StringBuilder matchPattern = new StringBuilder();
for (char c : matcher.toCharArray()) {
if (c >= 48 && c <= 57) {
matchPattern.append("[a-z]{").append(c).append("}");
} else {
matchPattern.append(c);
}
}
Pattern pattern = Pattern.compile(matchPattern.toString(), Pattern.CASE_INSENSITIVE);
return pattern.matcher(text).matches();
}
public static bool IsPatternMatchingWithStringV2(string pattern, string str)
{
int i = 0 /* Pattern index*/,j=0 /*String index*/;
for (i = 0; i < pattern.Length && j < str.Length; i++)
{
if (Char.IsDigit(pattern[i]))
{
j += Convert.ToInt32(pattern[i].ToString());
}
else
{
if (pattern[i] != str[j])
{
return false;
}
j++;
}
}
return true;
}
- Aim_Google January 09, 2018