Быстрый поиск в Google был бы очень полезен для понимания последовательности.
Я сделал версию последовательности «Посмотри и скажи». Я не могу найти способ максимизировать эффективность для числа столбцов для моегомассив.Также были бы полезны любые рекомендации по повышению эффективности кодирования в этой программе.
Программа:
public static void main(int n)
{
int ar[][]=new int[n][2*n];
ar[0][0]=1;
long startTime = System.currentTimeMillis();
for(int i=0;i<n-1;i++)//rows
{
int pos=0;
c:for(int j=0;j<n;j++)//columns
{
int counter=1;
if(ar[i][j]==0)
break c;
int first=ar[i][j];
while(ar[i][j+1]==first)//counter for like number
{
counter++;
j++;
}
if(ar[i][j+1]!=first)
{
ar[i+1][pos]=counter;
pos++;
ar[i+1][pos]=first;
pos++;
}
}
pos=0;
}
for(int i=0;i<n;i++)//printing
{
for(int j=0;j<2*n;j++)
{
if(ar[i][j]==0)
break;
System.out.print(ar[i][j]+" ");
}
System.out.println();
}
long endTime = System.currentTimeMillis();
System.out.println("It took " + (endTime - startTime) + " milliseconds");
}