int[][] A = new int [n][];
for (int i=0; i<n; i++) {
if (i % 2 == 0) // i is a multiple of 2
A[i] = new int [n];
else
A[i] = new int [1];
}
for (int i=0; i<A.length; i++)
for (int j=0; j<A[i].length; j++)
sum = sum + A[i][j];
그래서 배열이 무엇을하는지 혼란스러워지고 있습니다. 첫 번째 행은 n 열로 2D 배열을 초기화합니다. 첫 번째 for 루프는 각 열을 찾습니다. 짝수 열이라면 그 열의 첫 번째 행에 n을 넣습니다. 이제는 2D 배열이어야하지만 하나의 브래킷만으로 참조되기 때문에 약간 혼란 스럽습니다. 루프 용 double과 같은 것. A.length와 A [i] .length의 차이점은 무엇입니까? 알다시피, for 루프는 배열을 반복하고 모든 요소의 합을 얻습니다. 내가 구문에 약간의 손실이 있기 때문에 누군가가 이것을 명확히 할 수 있습니까?이 코드와 런타임을 해독하는 데 도움이
또한 내 본능에 따르면이 코드는 O (n^2) 시간에 루프에 대한 이중으로 인해 최소한 실행됩니다. 그럴 것 같니?
작성한 언어로 태그해야합니다. –