热线电话:13121318867

登录
2019-01-21 阅读量: 741
hackerrank圆阵旋转Python

以下代码传递除案例#4之外的所有测试用例,后者会收到运行时错误。有人可以指出问题吗?

def circularArrayRotation(a, k, queries):

if k < len(a):

k = k

elif k == len(a):

k = 0

else:

k = k%a

newList = []

for val in queries:

newInd = -k+val

if abs(newInd) > len(a):

newInd = newInd - (len(a)-1)

newList += [a[newInd]]

else:

newList += [a[newInd]]

return newList

可以做的是立即采取旋转的数组。然后在旋转的数组上运行qureies。将结果保存在列表中并将其返回。

def circularArrayRotation(a, k, queries):

new_arr = a[-k%len(a):] + a[:-k%len(a)]

# list slicing is done here. it will get the right rotated array

result = []

for i in queries:

result.append(new_arr[i])

# running queries on rotated array

return result

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子