题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
import java.util.; import java.io.;
public class Main{
public static void main(String[] args) {
final InputStreamReader reader = new InputStreamReader(System.in);
try (final BufferedReader br = new BufferedReader(reader)){
final int size = Integer.parseInt(br.readLine());
int addVertical_size = 1;
int addHorizon_size = 2;
int[] startNumbers = new int[size];
int startNumber = 0;
final StringBuffer sb = new StringBuffer();
//初始化每行首位数字
for (int i=0 ; i<size ;i++){
if (i ==0) startNumbers[i] = 1;
else {
startNumbers[i] = startNumbers[i-1] + addVertical_size;
addVertical_size++;
}
}
for (int i =0; i<size ;i++){
startNumber = startNumbers[i];
for (int j = 0; j<size-i ;j++ ){
sb.append(startNumber);
startNumber =startNumber + addHorizon_size+i;
if (j == size-1-i) sb.append('\n');
else sb.append(" ");
addHorizon_size++;
}
addHorizon_size=2;
}
System.out.println(sb);
}catch (IOException e){
System.out.println(e.getMessage());
}
}
}