题解 | #旋转数组#

旋转数组

http://www.nowcoder.com/practice/e19927a8fd5d477794dac67096862042

  • 假如这个数组是a = [1,2,3,4,5]
  • 我的思路是,先在前面补m个0,这样从原来的a[0]到a[n-m]平移的部分就解决了
  • 即:a = [0] + a, m = 2, a就从[1,2,3,4,5]变成了[0,0,1,2,3,4,5]
  • 然后,把前面的几个0变成a[n-m+1]到a[n] 即:a[0] = a[n]
  • [0,0,1,2,3,4,5]变成了[4,5,1,2,3,4,5]
  • 最后把多出来的部分删掉就好了
        while m:
            a = [0] + a
            m = m - 1
            a[0] = a[n]
            a.pop()
        return (a)
全部评论

相关推荐

ResourceUtilization:差不多但是估计不够准确,一面没考虑到增长人口,另一方面也没考虑到能上大学的人数比例,不过我猜肯定只多不少
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务