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;
    }
  • 相关阅读:
    关于排序--sort()和qsort()使用
    UVA--147 Dollars(完全背包)
    UVA--674 Coin Change(完全背包)
    HDU--1203 I NEED A OFFER!(01背包)
    编程中关于无穷大的设定技巧
    HDU--2126 Buy the souvenirs(二维01背包)
    HDU--2639 Bone Collector II(01背包)
    MySQL中的group_concat函数
    Redis监控
    JAVA中的代理模式
  • 原文地址:https://www.cnblogs.com/ganxiang/p/13946660.html
Copyright © 2011-2022 走看看