问题遇到的现象和发生背景
力扣561题数组拆分,为什么我写的快速排序超时了?
用代码块功能插入代码,请勿粘贴截图
void sort(int *nums,int start,int end)
{
int temp,i=start,j=end;
temp=*(nums+i);
while(i<j)
{
while(i<j&&temp<*(nums+j))
j--;
if(i<j)
{
*(nums+i)=*(nums+j);
i++;
}
while(i<j&&temp>*(nums+i))
i++;
if(i<j)
{
*(nums+j)=*(nums+i);
j--;
}
}
*(nums+i)=temp;
while(i>start)
sort(nums,start,i-1);
while(j<end)
sort(nums,j+1,end);
}
int arrayPairSum(int* nums, int numsSize){
sort(nums,0,numsSize-1);
int sum=0,i;
for(i=0;i<numsSize;i+=2)
sum+=nums[i];
return sum;
}