Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 问题:排序数组的平方|任何人都可以查看此代码吗_Python_Python 3.x_Function_Class_Optimization - Fatal编程技术网

Python 问题:排序数组的平方|任何人都可以查看此代码吗

Python 问题:排序数组的平方|任何人都可以查看此代码吗,python,python-3.x,function,class,optimization,Python,Python 3.x,Function,Class,Optimization,有人能纠正这个代码吗? 代码工作不正常。 输出应为方形排序数组。 示例:输入:[-4,-1,0,3,10] 输出:[0,1,9,16100] 我正在使用Leetcode平台 class Solution(object): def sortedSquares(self, nums: List[int]): out = [] for num in nums: out.append(num**2) self.sorte(o

有人能纠正这个代码吗? 代码工作不正常。 输出应为方形排序数组。 示例:输入:[-4,-1,0,3,10] 输出:[0,1,9,16100] 我正在使用Leetcode平台

class Solution(object):
    def sortedSquares(self, nums: List[int]):
        out = []
        for num in nums:
            out.append(num**2)
        self.sorte(out)      

    def sorte(self, out):
        if len(out)<2:
            return out
        else:
            return self.sorte([each for each in out[1:] if each < out[0]]) + [out[0]] + self.sorte([each for each in out[1:] if each >= out[0]])
类解决方案(对象):
def分拣方(自身,nums:List[int]):
out=[]
对于num中的num:
out.append(数量**2)
自分拣机(外)
def分拣机(自身、外部):
如果len(out)=out[0]])
公认的解决方案:

class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        out = [x*x for x in A]
        return sorted(out)
如果您仍然想像您的一样做,请检查这是否有帮助:

class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        out = []
        for num in A:
            out.append(num**2)
        return self.sorte(out)      

    def sorte(self, out):
        if len(out)<2:
            return out
        else:
            return self.sorte([each for each in out[1:] if each < out[0]]) + [out[0]] + self.sorte([each for each in out[1:] if each >= out[0]])
类解决方案:
def sortedSquares(self,A:List[int])->List[int]:
out=[]
对于中的num:
out.append(数量**2)
返回自分拣机(out)
def分拣机(自身、外部):
如果len(out)=out[0]])
公认的解决方案:

class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        out = [x*x for x in A]
        return sorted(out)
如果您仍然想像您的一样做,请检查这是否有帮助:

class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        out = []
        for num in A:
            out.append(num**2)
        return self.sorte(out)      

    def sorte(self, out):
        if len(out)<2:
            return out
        else:
            return self.sorte([each for each in out[1:] if each < out[0]]) + [out[0]] + self.sorte([each for each in out[1:] if each >= out[0]])
类解决方案:
def sortedSquares(self,A:List[int])->List[int]:
out=[]
对于中的num:
out.append(数量**2)
返回自分拣机(out)
def分拣机(自身、外部):
如果len(out)=out[0]])

您能明确定义您的问题吗?您能说明您期望的输出是什么以及它实际输出的是什么吗?小建议-将super oneliner分解为几行。甚至可以添加一条评论。你会帮助自己和其他与你一起工作的人养成写清晰易读的代码的习惯是的,我做了,并重新编辑了这个问题。谢谢。你能明确地定义你的问题吗?你能说明你期望的输出是什么和它实际输出的是什么吗?小建议-把超级单行线分成几行。甚至可以添加一条评论。你会帮助自己和其他与你一起工作的人养成写清晰易读的代码的习惯是的,我做了,并重新编辑了这个问题。谢谢,谢谢。但我使用的是Leet代码平台,不知何故,我得到了类似“函数未定义/运行时错误”的错误。我添加了接受的代码段。请查收。你的代码会给出“超过时间限制”。是的,事实上。出于同样的原因,我现在正在思考,我应该如何通过重新编辑和优化代码来通过所有测试用例。你能给我提一下同样的问题吗?在你的排序方法中,不是使用递归进行排序,这增加了它的时间复杂度,你不能使用任何现有的算法来进行需要nlogn的排序吗?Python内置的排序算法是TimSort。其时间复杂度为nLogn。->检查此项以了解有关TimSort的更多信息。谢谢。但我使用的是Leet代码平台,不知何故,我得到了类似“函数未定义/运行时错误”的错误。我添加了接受的代码段。请查收。你的代码会给出“超过时间限制”。是的,事实上。出于同样的原因,我现在正在思考,我应该如何通过重新编辑和优化代码来通过所有测试用例。你能给我提一下同样的问题吗?在你的排序方法中,不是使用递归进行排序,这增加了它的时间复杂度,你不能使用任何现有的算法来进行需要nlogn的排序吗?Python内置的排序算法是TimSort。其时间复杂度为nLogn。->检查此项以了解有关TimSort的更多信息。