-
- 普通pc机一秒可以执行多少个空循环
亿次
- 普通pc机一秒可以执行多少个空循环
-
#include
int main()
{
char a[]="123456789";
printf("%d\n",sizeof(a));
printf("%d\n",strlen(a));
return 0;
}
输出
10
9
int a[1000000]的大小是4*1000000,将近4M,远远大于1M
-
- 回转矩阵
# 初始化矩阵
# result = [[0] * 5] * 5
result = [[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]]
num = 1
# 初始位置
x, y = 0, 0
def generate_matrix(n, x, y, num):
"""
分治法
:param n: n阶矩阵
:return:
"""
# x, y不能变 还得当作参数
x_c, y_c = x, y
if n <= 0:
return
if n == 1:
result[x][y] = num
# A区 y不变 x逐渐加一
for i in range(n-1):
result[x_c][y_c] = num
s=result[0][0]
k=result[1][0]
num += 1
x_c += 1
# B区 x不变 y逐渐加一
for i in range(n - 1):
result[x_c][y_c] = num
num += 1
y_c += 1
# C区 y不变 x逐渐减一
for i in range(n - 1):
result[x_c][y_c] = num
num += 1
x_c -= 1
# D区 x不变 y逐渐减一
for i in range(n - 1):
result[x_c][y_c] = num
num += 1
y_c -= 1
# 下一圈循环 从索引位置(1, 1)开始
x += 1
y += 1
generate_matrix(n-2, x, y, num) # 边长-2
print(result)
generate_matrix(6, x, y, num)
print(result)
"""
result = [[0] * 4] * 4
print(result)
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
result[0][0] = 2
print(result)
[[2, 0, 0, 0], [2, 0, 0, 0], [2, 0, 0, 0], [2, 0, 0, 0]]
想了半天 因为这样创建多层列表 各列表之间会存在引用 所以改不变的不是一个值
结果并不是 [[2, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
"""