977. 有序数组的平方

作者: 1江春水 | 来源:发表于2019-07-16 15:31 被阅读2次

【题目描述】
给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。

【示例1】
输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]

【示例2】
输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]

提示:
1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A 已按非递减顺序排序。

【Swift代码实现】

    func sortedSquares(_ A: [Int]) -> [Int] {
        var end = A.count-1
        var arr = [Int].init(repeating: 0, count: A.count)
        var l = 0
        var r = A.count-1
        while l<r {
            if (A[l]*A[l] > A[r]*A[r]) {
                arr[end] = A[l]*A[l]
                end-=1
                l+=1
            } else {
                arr[end] = A[r]*A[r]
                end-=1
                r-=1
            }
        }
        arr[0] = A[l]*A[l]
        return arr
    }

思路:
1、可以把每个元素平方后 使用系统API sort;
2、使用左右双指针来遍历,当左右指针相遇时遍历完毕;
3、左右指针所对应的元素平方作对比,大的加到新建数组的最后index;
4、遍历完毕 返回数组;

相关文章

  • 977. 有序数组的平方

    //977. 有序数组的平方https://leetcode-cn.com/problems/squares-of...

  • 61.有序数组的平方

    day13: 977. 有序数组的平方[https://leetcode-cn.com/problems/squa...

  • 第 2 天 双指针

    977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组...

  • ARTS Week 01

    Algorithm 题目 977. 有序数组的平方给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的...

  • 977. 有序数组的平方

    977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺...

  • 977. 有序数组的平方

    【题目描述】给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 【示...

  • 977. 有序数组的平方

    给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入...

  • 977.有序数组的平方

    题目 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1:...

  • LeetCode 977. 有序数组的平方

    题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 ...

  • [LeetCode][Python]977. 有序数组的平方

    给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入...

网友评论

    本文标题:977. 有序数组的平方

    本文链接:https://www.haomeiwen.com/subject/hzltlctx.html