newbie
BAN USERi think instead of using continue, we can to do following way for better performance
static int find(int []p,int []d)
{ int diff[]=new int[2*p.length];
for(int i=0;i<p.length;i++ )
{ diff[i]=diff[p.length+i]=p[i]-d[i];
}
for (int j = 0; j < p.length; j++)
{
int sum= 0;
int k ;
for ( k = j; k < j+p.length; k++)
{
sum =sum+diff[k];
if(sum<0){
j=k;
break;
}
}
if(k==j+p.length){return j;}
}
return -1;
}
tell me if it is wrong
sorry alreaddy enhanced my bad
- newbie February 20, 2013