灌篮少年 发表于 2024-8-13 02:31:04

小米机试 2048

题目阐明

《2048》是一款热门的数字游戏。游戏中,每个方块上的数字都有2的幂,数字方块会根据指令整体举行上下左右移动,假如两个数字相同的方块在移动中碰撞,他们就会集成一个新的方块。比方下图为4*4格子的游戏,0表示格子为空,图a为移动前格子中的数字,图b为图a左移后的效果:
比方:
输入
0 0 2 4
0 2 2 2
0 4 2 2
8 8 2 2
输出
2 4 0 0
4 2 0 0
4 4 0 0
16 4 0 0
解题思路:

从左到右遍历,假如a == a
则让 a += a
同时扫除 a = 0
最后删掉数组中的0元素
重新用一个空矩阵,把a的值挨个复制进去
python代码

n = 4
a = [,,,]
for i in range(len(a)):
    for j in range(len(a)-1):
      if a == a:
            a += a
            a = 0

print(a)
for i in range(len(a)):
    while 0 in a:
      a.remove(0)
print(a)
ans = [*nfor _ in range(n)]
for i in range(len(a)):
    for j in range(len(a)):
      ans = a
print(ans)
输出效果:
[, , , ]
[, , , ]
[, , , ]

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 小米机试 2048