1,164. 最大间距 - 力扣(LeetCode) (leetcode-cn.com)
int cmp(const void*e1,const void*e2)
{
if(*(int*)e1>=*(int*)e2)
return 1;
else
return 0;
}
int maximumGap(int* nums, int numsSize)
{
if(numsSize<2)
return 0;
qsort(nums,numsSize,sizeof(int),cmp);
int max=nums[1]-nums[0];
int i=0;
for(i=1;i<numsSize-1;i++)
{
if(nums[i+1]-nums[i]>max)
max=nums[i+1]-nums[i];
}
return max;
}
2,912. 排序数组 - 力扣(LeetCode) (leetcode-cn.com)
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int cmp_int(const void*e1,const void*e2)
{
if(*(int*)e1>=*(int*)e2)
return 1;
else
return 0;
}
int* sortArray(int* nums, int numsSize, int* returnSize)
{
qsort(nums,numsSize,sizeof(int),cmp_int);
*returnSize=numsSize;
return nums;
}
3,217. 存在重复元素 - 力扣(LeetCode) (leetcode-cn.com)
int cmp(const void*e1,const void*e2)
{
if(*(int*)e1>=*(int*)e2)
return 1;
else
return 0;
}
bool containsDuplicate(int* nums, int numsSize)
{
if(numsSize==1)
return false;
qsort(nums,numsSize,sizeof(int),cmp);
int i=0;
for(i=0;i<numsSize-1;i++)
{
if(nums[i]==nums[i+1])
return true;
}
return false;
}
4,169. 多数元素 - 力扣(LeetCode) (leetcode-cn.com)
int cmp(const void*e1,const void*e2)
{
if(*(int*)e1>=*(int*)e2)
return 1;
else
return 0;
}
int majorityElement(int* nums, int numsSize)
{
if(numsSize==1)
return nums[0];
qsort(nums,numsSize,sizeof(int),cmp);
printf("%d",nums[0]);
int i=0;
int max=1;
for(i=1;i<numsSize;i++)
{
if(nums[i]!=nums[i-1])
max=1;
if(nums[i]==nums[i-1])
max++;
if(max>numsSize/2)
{
return nums[i];
}
}
return 0;
}
5,面试题 10.01. 合并排序的数组 - 力扣(LeetCode) (leetcode-cn.com)
int cmp(void*e1,void*e2)
{
if(*(int*)e1>=*(int*)e2)
return 1;
else
return 0;
}
void merge(int* A, int ASize, int m, int* B, int BSize, int n)
{
int i=m;
int j=0;
for(;i<ASize,j<n;i++,j++)
{
A[i]=B[j];
}
qsort(A,m+n,sizeof(int),cmp);
}