【万人千题】算法解题报告11.25

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);
     
}

posted @   C_Ryson  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示