int dominantIndex(int* nums, int numsSize)
{
int m1=-1;
int m2=-1;
int index=-1;
for(int i=0;i<numsSize;i++)
{
if(nums[i]>m1)
{
m2=m1;
m1=nums[i];
index=i;
}else if(nums[i]>m2)
{
m2=nums[i];
}
}
return m1>=m2*2?index:-1;
//至少是其它值两倍,变成是次大值的两倍
}
int* sortArrayByParity(int* nums, int numsSize, int* returnSize){
int *arr=(int *)malloc(sizeof(int)*numsSize);
int count=0;
for(int i=0;i<numsSize;i++)
{
if(nums[i]%2==0)
{
arr[count++]=nums[i];
}
}
for(int i=0;i<numsSize;i++)
{
if(nums[i]%2==1)
{
arr[count++]=nums[i];
}
}
*returnSize=numsSize;
return arr;
}
用1次遍历+从后往前判断