题解 | #哈夫曼树#

哈夫曼树

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

全部评论

相关推荐

昨天 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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