您的位置:首页 > 财经 > 产业 > 成都正规小程序开发公司_安卓手机软件开发外包_怎么制作网站_湖南网络优化

成都正规小程序开发公司_安卓手机软件开发外包_怎么制作网站_湖南网络优化

2025/3/15 20:44:17 来源:https://blog.csdn.net/greengirl5/article/details/146216086  浏览:    关键词:成都正规小程序开发公司_安卓手机软件开发外包_怎么制作网站_湖南网络优化
成都正规小程序开发公司_安卓手机软件开发外包_怎么制作网站_湖南网络优化

在这里插入图片描述
思路①:先平方,后快排,输出(基准元素,左小右大)
时间复杂度:O(nlogn)
思路②:双指针左右开弓,首先原数组已经是按照非递减顺序排序,那么最大值只有可能出现在最右边或者最左边,那么我们可以创建一个与原数组等长的空数组,双指针,i指向原数组的最左边,j指向最右边,每次循环都判断是左边大还是右边大,将大的值放入空数组中(空数组的指针k从末尾往前跳,最末尾是最大的值)

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* sortedSquares(int* nums, int numsSize, int* returnSize) {int *output=(int*)malloc(sizeof(int) * numsSize);int k=numsSize-1;int i=0,j=numsSize-1;while(i<=j){if(nums[i]*nums[i]<nums[j]*nums[j]){output[k--]=nums[j]*nums[j];//谁大放谁j--;}else{output[k--]=nums[i]*nums[i];i++;}}*returnSize = numsSize;//设置返回数组的大小return output;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com