笔试题:跳跃游戏每一次比上一次多跳1(数学,二进制搜索)
在数轴上有一个起点和一个终点,第一步跳1,第二步跳2,第三步跳3,… 但是可以左右跳,最后问最少跳几步 例子: 0 ——> 2: 0 -> 1 -> -1 -> 2
import math
#二进制进行暴力破解
def brute(n):
k = 1
# 遍历跳 1,2,3,4,5...次
while True:
# 生成每一次的每一条的步数列表
base = list(range(1, k + 1))
# 生成每一跳的左右遍历的二进制数字
for i in range(2 ** k):
dist = 0
# 获取每一位的数值计算最后跳跃坐标
for j in range(k):
# i & (1 << j) 将i第j号
共有 0 条评论