
Untitled
By: a guest on
Jun 9th, 2012 | syntax:
None | size: 1.46 KB | hits: 27 | expires: Never
public class Stringtest {
public static int subStrC(String s, char c)
{
int scount=0 , bounds=s.length()-1;
boolean flag =false;
for(int i=0; i < s.length() ; i++)
{
if(!flag){
if(i < bounds-1){
if(s.charAt(i) == c && s.charAt(i+1) != c){
flag = true;
scount++;
}
}
}
else if (flag)
{
if(i < bounds-1){
if(s.charAt(i) == c && s.charAt(i+1) != c){
flag=false;
i--;
}
}
}
}
return scount;
}
public static int subStrMaxC(String s, char c, int k){
int scount=0 , ccount=0;
boolean flag =false;
if(k <= 1 )
return subStrC(s, c);
else {
scount = subStrC(s, c);
for(int i=0 ; i < s.length()-1 ; i++)
{
if(!flag){
if(s.charAt(i) == c && s.charAt(i+1) != c ){
flag= true;
scount++;
}
}
else if(flag)
{
if(s.charAt(i) == c && s.charAt(i+1) != c){
if(ccount+1 < k)
ccount++;
else if (ccount+1 >= k)
{
i--;
flag= false;
ccount =0;
}
}
}
}
return scount;
}
}
public static void main (String [] arg){
System.out.println(subStrC("abcbc",'c'));
System.out.println(subStrMaxC("abcbc",'c',0));
System.out.println(subStrMaxC("abcbcabcacab", 'c', 2));
System.out.println(subStrMaxC("abcbcabcacab", 'c', 3));
System.out.println(subStrMaxC("abc", 'c', 0));
}
}