O(n)解决三维数组初始化 正常思维初始化三维数组,一般都是三个for循环嵌套,其实用一个巧妙的数学公式就能将三次循环简化到一次循环,即时间复杂度为O(n) 123456789101112131415 #include <stdio.h>int main() { int x, y, z; scanf("%d %d %d", &x, &y, &z); int array[x][y][z]; for(int i = 0; i < x * y * z; i++) { array[i / (y * z)][(i / z) % y][i % z] = i; printf("t%d", array[i / (y * z)][(i / z) % y][i % z]); if((i + 1) % z == 0) { printf("n"); } } return 0;} 赞微海报分享
近期评论