977.有序数组的平方(切忌错误遍历方法细节)

2022/5/27 23:20:49

本文主要是介绍977.有序数组的平方(切忌错误遍历方法细节),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

要求时间复杂度 O(n)

示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100]

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

参考代码随想录:problems/0977.有序数组的平方.md · programmercarl/leetcode-master(代码随想录出品) - Gitee.com

总方法思路:利用双指针,在数组两端设置初始指针,由于两侧的值必有最大值,故只需比较两指针所指位置的值的大小,取较大者放置在新数组末尾即可(重复迭代)

双指针图示

错误反思:自己第一写时,非常不严谨地在遍历数组时同时进行了修改操作(而不是仅仅读取数据复制到新数组中),导致了非常低级的错误,且没有意识到(太菜了太菜了)



这篇关于977.有序数组的平方(切忌错误遍历方法细节)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程