当前位置: 首页 > news >正文

蓝桥杯--基础(哈夫曼)

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;public class BASIC28 {//哈夫曼书public  static void main(String[] args) {Scanner Scanner=new Scanner(System.in);int n=Scanner.nextInt();List<Integer> list=new ArrayList<Integer>() ;for(int i=0;i<n;i++){list.add(Scanner.nextInt());}//数组删除一个元素比较的麻烦(使用java里面的数组不能直接的删除一个元素)//但是使用list就是可以直接的进行删除了是吗???//原来使用list是可以直接的进行排序的int sum=0;while(list.size()!=1){Collections.sort(list);//要输出的是每次相加的这个和是吧,那么需要另外的开辟一个来进行存储???list.add(list.get(0)+list.get(1));sum+=list.get(0)+list.get(1);//当把第一个元素删除之后,原本的第二个元素就是变为了第一个元素//所以这个地方需要进行删除还是0list.remove(0);list.remove(0);}//最后一个数字就是计算得到的,已经在前面的基础上添加过了System.out.println(sum);}
}

根据可能的规则,直接使用list进行存储(因为提供直接移除元素的函数)

然后需要注意的就是list也是可以排序的,不过是Collections.sort()

然后数组的排序是Arrays.sort() 进行排序

最后就是在移除的时候,应该移除的是前面的两个最小的

但是当移除一个之后,后面的那个又会接着补充进来,所以这个时候就是这个样子的

http://www.lryc.cn/news/321247.html

相关文章:

  • 【Redis内存数据库】NoSQL的特点和应用场景
  • JavaScript基础知识2
  • Linux之线程同步
  • 03 龙芯平台openstack部署搭建-keystone部署
  • 定义了服务器的端口号和Servlet的上下文路径
  • AI论文速读 | UniST:提示赋能通用模型用于城市时空预测
  • rabbitmq-spring-boot-start配置使用手册
  • 操作系统知识-操作系统作用+进程管理-嵌入式系统设计师备考笔记
  • Go语言中的锁与管道的运用
  • 前端 - 基础 表单标签 -- 表单元素( input - type属性) 文本框和密码框
  • 关于MySQL模糊搜索不区分大小写
  • 论文阅读——MoCo
  • ARM 寄存器学习:(一)arm多种模式下得寄存器
  • 【nfs报错】rpc mount export: RPC: Unable to receive; errno = No route to host
  • 备战蓝桥杯---牛客寒假训练营2VP
  • QCustomPlot-绘制X轴为日期的折线图
  • 腾讯春招后端一面(算法篇)
  • Filebeat rpm方式安装及配置
  • 深入挖掘C语言之——枚举
  • 【源码阅读】EVMⅢ
  • .Net Core 中间件验签
  • Elasticsearch:从 Java High Level Rest Client 切换到新的 Java API Client
  • 七:分布式
  • 1-postgresql数据库高可用脚本详解
  • 【亲测】Onlyfans年龄认证怎么办?Onlyfans需要年龄验证?
  • ASP.NET Core新特性
  • 26-Java访问者模式 ( Visitor Pattern )
  • 电子科技大学链时代工作室招新题C语言部分---题号G
  • 体育运动直播中的智能运动跟踪和动作识别系统 - 视频分析如何协助流媒体做出实时决策
  • Avalon总线学习