记录遇到的一个python2.7与python3区别问题,暂未解决

旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

代码如下,在自己的IDE Python3中已跑通,但由于牛客网的在线编程平台中只可选择Pyhon2.7.3,同样的代码和测试用例在牛客网上会有报错,问题现暂未解决,记录一下。

# -*- coding:utf-8 -*-

class Solution:

    def minNumberInRotateArray(self, rotateArray):

        if len(rotateArray) == 0:

            return False

        elif len(rotateArray) == 1:

            return rotateArray[0]

        elif len(rotateArray) == 2:

            if rotateArray[0] < rotateArray[1]:

                return rotateArray[0]

            else:

                return rotateArray[1]

        else:

            mid = len(rotateArray)//2

            if rotateArray[0] < rotateArray[mid]:

                rotateArray = rotateArray[mid+1:]

                self.minNumberInRotateArray(rotateArray)

            else:

                rotateArray = rotateArray[:mid+1]

                self.minNumberInRotateArray(rotateArray)

测试用例:

test= Solution()

testArray= [6501,6828,6963,7036,7422,7674,8146,8468,8704,8717,9170,9359,9719,9895,9896,9913,9962,154,293,334,492,1323,1479,1539,1727,1870,1943,2383,2392,2996,3282,3812,3903,4465,4605,4665,4772,4828,5142,5437,5448,5668,5706,5725,6300,6335]

test.minNumberInRotateArray(testArray)

自己的IDE上是没问题的:


记录遇到的一个python2.7与python3区别问题,暂未解决_第1张图片

牛客网(python2.7.3)的报错:

不通过

您的代码已保存

答案错误:您提交的程序没有通过所有的测试用例

case通过率为0.00%

测试用例:

[6501,6828,6963,7036,7422,7674,8146,8468,8704,8717,9170,9359,9719,9895,9896,9913,9962,154,293,334,492,1323,1479,1539,1727,1870,1943,2383,2392,2996,3282,3812,3903,4465,4605,4665,4772,4828,5142,5437,5448,5668,5706,5725,6300,6335]

对应输出应该为:

154

你的输出为:

%d format: a number is required, not NoneType

-----------------------------------------------------------------

确定不是python版本的问题,后又在python2.7.3上运行仍然争取,牛客网上的问题仍未解决,无头绪。


记录遇到的一个python2.7与python3区别问题,暂未解决_第2张图片

你可能感兴趣的:(记录遇到的一个python2.7与python3区别问题,暂未解决)