题目描述
给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
题解
解法一:暴力解法
思路: 该题目可通过暴力解法解决,即利用for循环遍历数组,对数组每一项求平方后再进行排序。
解法二:双指针
思路: 设置头尾指针,对头尾指针所指向的元素进行比较,较大的元素加入新数组的尾部。
总结
- are.sort()方法用于对数组元素进行重新排序,若未传入参数,则默认以第一个字符的ASCII值进行比较,因此需要传入一个带有返回值的函数作为参数,如上例所示,返回值为a-b则为正序,若返回值为b-a则为倒序。
- 双指针法分为同向双指针和相向双指针,本例中使用的是相向双指针,即头尾指针分别从两端开始,向中间靠拢进行遍历。