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

蓝桥杯学习笔记(贪心)

在很久很久以前,有几个部落居住在平原上,依次编号为1到n。第之个部落的人数为 t
有一年发生了灾荒,年轻的政治家小蓝想要说服所有部落一同应对灾荒,他能通过谈判来说服部落进行联台。
每次谈判,小蓝只能邀请两个部落参加,花费的金币数量为两个部落的人数之和,谈判的效果是两个部落联合成一个部落(人数为原来两个部落的人数之和)。
输入描述
输入的第一行包含一个整数 1,表示部落的数量第二行包含 几个正整数,依次表示每个部落的人数。

这道题我用了两种方法 

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] a = new int[n];for (int i = 0; i < n; i++) {a[i] = sc.nextInt();}int sum = 0;System.out.println(getMin(a, sum));}public static int getMin(int[] a, int sum) {if (a.length == 2) {return sum + a[0] + a[1];} else {Arrays.sort(a);int[] aa = new int[a.length - 1];for (int i = 2; i < a.length; i++) {aa[0] = a[0] + a[1];aa[i - 1] = a[i];}sum += aa[0];return getMin(aa, sum);}}
public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();List<Integer> list = new ArrayList<>();for (int i = 0; i < n; i++) {list.add(sc.nextInt());}Collections.sort(list);int sum = 0;while (list.size() > 1) {int num = list.get(0) + list.get(1);sum += num;list.remove(0);list.remove(0);list.add(num);Collections.sort(list);}System.out.println(sum);}

解题主要思想是贪心,只要搞明白之后就能理解了

循环排序 数组或集合计算前两个值之和 放入新数组 再让和累加。最后得到结果

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

相关文章:

  • 【无标题】如何使用 MuLogin 设置代理
  • 芒果YOLOv8改进135:主干篇GCNet,统一为全局上下文建模global context结构,即插即用,助力小目标检测,轻量化的同时精度性能涨点
  • 全面:vue.config.js 的完整配置
  • 海量数据处理项目-账号微服务注册Nacos+配置文件增加
  • DNS 服务 Unbound 部署最佳实践
  • 力扣HOT100 - 42. 接雨水
  • 攻防世界-baby_web
  • 数据可视化基础与应用-04-seaborn库从入门到精通01-02
  • 学习 zustand
  • 竞赛 opencv python 深度学习垃圾图像分类系统
  • vsto worksheet中查找关键字【关键字】获取对应的整列 union成一个range
  • flask_restful规范返回值之参数设置
  • 基于java+springboot+vue实现的超市管理系统(文末源码+Lw+ppt)23-354
  • AI大模型学习:开启智能时代的新篇章
  • 【字符串】字符串哈希
  • MacOS快速安装FFmpeg、ffprobe、ffplay
  • 数据结构 之 树习题 力扣oj(附加思路版)
  • 闭包学习,闭包和高阶函数
  • Linux实战笔记(五) shell
  • TCP Wrappers 的使用
  • 数据结构——lesson11排序之快速排序
  • Nacos部署(二)Linux部署Nacos2.3.x集群环境
  • RuoYi 自定义字典列表页面编码翻译
  • GAMES101 学习4
  • Redis中的缓存穿透
  • javaSwing超市收银(txt)
  • Linux 理解文件系统、磁盘结构、软硬链接
  • 智慧商场数字化创新需要有数字能力帮手
  • JS加密解密之应用如何保存到桌面书签
  • 线上linux服务器升级nginx