Da li bi neko mogao da mi ukaze u cemu gresim?Ideja mi je sledeca:za svaki karakter od n-1 do 3(prva dva karaktera su mi '0' i '.'),ja prvo proveravam da li imam niz istih znakova od pocetka (to je zbog situacija kada se broj zavrsava sa recimo...2222222).Taj deo koda mi je u onom if-else-u pre druge for petlje.A u drugoj petlji koja ide od i-1 do 2 proveravam da li su karkteri na i-toj i j-toj poziciji isti,pa ako jesu,onda imam dva slucaja;ako je i=n-1(poslednji karakter obelezim da je na j-toj poziciji broj jednakih karaktera 1,a ako nije proverim da li se na j+1 poziciji uopste bilo jednakih karaktera,pa ako jeste na j-toj poziciji stavim da je broj jednakih, [j+1]+1.Posle samo ispitam da li je broj jednakih karaktera veci od trenutnog maxa.Evo ga kod
...
for (i=2;i<cnt;++i)
countSame[i]=0;
for ( i = cnt-1 ; i >= 3; --i ) {
if (i==cnt-1){
firstSame=0;
firstSameFind=true;
}
else{
if (firstSameFind && n[i]==n[cnt-1])
firstSame++;
else
firstSameFind=false;
}
isFind=false;
for ( j=i-1 ; j>=2; --j )
if (n[ i ]==n[ j ]){
isFind=true;
if (i==cnt-1)
countSame[ j ]=1;
else if (countSame[ j+1]>0)
countSame[ j ] = countSame[j+1]+1;
if (countSame[ j ]>countP || (countSame[j]==countP &&
cnt - countSame[ j ] - j < lengthP)){
countP=countSame[ j ];
pozP=j;
lengthP=cnt-countSame[ j ] - j;
}
}
if (!isFind) break;
}
//ovde odredjujem da li je ipak niz uzastopnih istih na kraju bolji za resenje
if (firstSame>0 && firstSame>=countP){
pozP=cnt-firstSame-1;
lengthP=1;
countP=firstSame;
}
...
for (i=2;i<cnt;++i)
countSame[i]=0;
for ( i = cnt-1 ; i >= 3; --i ) {
if (i==cnt-1){
firstSame=0;
firstSameFind=true;
}
else{
if (firstSameFind && n[i]==n[cnt-1])
firstSame++;
else
firstSameFind=false;
}
isFind=false;
for ( j=i-1 ; j>=2; --j )
if (n[ i ]==n[ j ]){
isFind=true;
if (i==cnt-1)
countSame[ j ]=1;
else if (countSame[ j+1]>0)
countSame[ j ] = countSame[j+1]+1;
if (countSame[ j ]>countP || (countSame[j]==countP &&
cnt - countSame[ j ] - j < lengthP)){
countP=countSame[ j ];
pozP=j;
lengthP=cnt-countSame[ j ] - j;
}
}
if (!isFind) break;
}
//ovde odredjujem da li je ipak niz uzastopnih istih na kraju bolji za resenje
if (firstSame>0 && firstSame>=countP){
pozP=cnt-firstSame-1;
lengthP=1;
countP=firstSame;
}