首页 > 试题广场 >

平方升序数组

[编程题]平方升序数组
  • 热度指数:1250 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的升序数组 nums ,请你算出这个数组中所有数的平方组成的新的数组,要求也按照升序。

数据范围: ,数组中的数都满足
示例1

输入

[1,0,1,2,3]

输出

[0,1,1,4,9]
示例2

输入

[5,4,3,2,1]

输出

[1,4,9,16,25]
# -*- coding: utf-8 -*-


#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param nums int整型一维数组
# @return int整型一维数组
#
class Solution:
    """
    题目:
        https://www.nowcoder.com/practice/1cc21a074bdd41bd9b9de50d510d6030?tpId=196&tqId=40456&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj%3Fpage%3D8%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D196&difficulty=undefined&judgeStatus=undefined&tags=&title=
    算法:
        平方 + 排序
    复杂度:
        时间复杂度:O(nlogn)
        空间复杂度:O(n)
    """

    def sortedArray(self, nums):
        # write code here
        res = [num * num for num in nums]

        res.sort()

        return res


if __name__ == "__main__":
    sol = Solution()

    # nums = [1, 0, 1, 2, 3]

    nums = [5, 4, 3, 2, 1]

    res = sol.sortedArray(nums)

    print res

发表于 2022-06-27 10:53:18 回复(0)