题解 | #哈夫曼树#

哈夫曼树

https://www.nowcoder.com/practice/162753046d5f47c7aac01a5b2fcda155

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define len 1009
#define maxint 1<<31-1

int l,r;
int list[len];

void initial_list(){
    l = 0;
    r = 0;
}

void push_back(int x){
    list[r++] = x;
}

int pop_front(){
    return list[l++];
}

int cmp(const void*s1,const void*s2){
    int a1 = *(int*)s1;
    int a2 = *(int*)s2;
    return a1-a2;
}

void list_sort(){
    qsort(list+l,r-l,sizeof(int),cmp);
}

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        initial_list();
        for(int i = 0;i<n;i++){
            int x;
            scanf("%d",&x);
            push_back(x);
        }
        int res = 0;
        while(r-l!=1){
            list_sort();
            int a = pop_front();
            int b = pop_front();
            int temp = a+b;
            res+=temp;
            push_back(temp);
        }
        printf("%d\n",res);
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:30
仁者伍敌:kpi都懒得刷了属于是
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务