zoukankan      html  css  js  c++  java
  • 【leetcode】按照频率将数组升序排序

    /**
     * Note: The returned array must be malloced, assume caller calls free().
     */
    typedef struct st{
        int val;
        int cnt;
    }st;
    int cmp(const void* a,const void* b){
        return ((*(st*)a).cnt != (*(st*)b).cnt)?(*(st*)a).cnt-(*(st*)b).cnt :(*(st*)a).val < (*(st*)b).val;
    }
    int* frequencySort(int* nums, int numsSize, int* returnSize){
        st arr[201]={0};
        int* ret = (int*)calloc(101,sizeof(int));
        int i,pst=0,n=0;
        for(i=0; i<numsSize; ++i){
            arr[nums[i]+100].val=nums[i];     
            arr[nums[i]+100].cnt++;
        }
        qsort(arr,201,sizeof(st),cmp);
        for(i=0; i<201; ++i){
            while(arr[i].cnt){
                ret[pst++]=arr[i].val;
                arr[i].cnt--;
            }
        }
        *returnSize=pst;
        return ret;
    }
    /**
     * Note: The returned array must be malloced, assume caller calls free().
     */
    typedef struct st{
        int val;
        int cnt;
    }st;
    int cmp(const void* a,const void* b){
        return ((*(st*)a).cnt != (*(st*)b).cnt)?(*(st*)a).cnt-(*(st*)b).cnt :(*(st*)a).val < (*(st*)b).val;
    }
    int* frequencySort(int* nums, int numsSize, int* returnSize){
        st arr[201]={0};
        int* ret = (int*)calloc(101,sizeof(int));
        int i,pst=0,n=0;
        for(i=0; i<numsSize; ++i){
            arr[nums[i]+100].val=nums[i];     
            arr[nums[i]+100].cnt++;
        }
        qsort(arr,201,sizeof(st),cmp);
        for(i=0; i<201; ++i){
            while(arr[i].cnt){
                ret[pst++]=arr[i].val;
                arr[i].cnt--;
            }
        }
        *returnSize=pst;
        return ret;
    }
  • 相关阅读:
    Android Studio Gradle 添加.so 支持文件
    poj 3270 更换使用
    linux通过使用mail发送电子邮件
    php 上传文件 $_FILES['']['type']的值
    浅谈Base64编码
    expect实现ssh自动登录
    C++ 多源码文件简单组织
    linux下修改hostid
    SQLite/嵌入式数据库
    类内数组声明,“类外”指定大小
  • 原文地址:https://www.cnblogs.com/ganxiang/p/13946660.html
Copyright © 2011-2022 走看看