IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 2020蓝桥杯javaB----分配口罩 -> 正文阅读

[数据结构与算法]2020蓝桥杯javaB----分配口罩

要比赛了 ,才临时抱佛脚。算法的确虐人,确实,现在觉得数学真他喵可爱啊!!!!!!
但没事,厚着脸皮继续敲!
1.【问题描述】
某市市长获得了若干批口罩,每一批口罩的数目如下: 9090400 8499400 5926800 8547000 4958200 4422600 5751200 4175600 6309600 5865200 6604400 4635000 10663400 8087200 4554000 现在市长要把口罩分配给市内的 2 所医院。由于物流限制,每一批口罩只 能全部分配给其中一家医院。市长希望 2 所医院获得的口罩总数之差越小越好。 请你计算这个差最小是多少?

2.思路
(1)首先要使两家医院的口罩差值最小,是背包问题的一种变形
如果两家医院平均分是sum/2
但也存在一家医院分多 设为LargeNum ,另一家医院分的少SmallNum
所以差值为=(LageNum-sum/2)*2=(sum/2-SmallNum)*2

每家医院可看作一个容量为sum/2的背包,只有SmallNum尽可能大才能保证差值最小

(2)要用到的API接口
max() 方法用于返回两个参数中的最大值。

public class Test{
    public static void main(String args[]){
        System.out.println(Math.max(12.123, 18.456));      
        System.out.println(Math.max(23.12, 23.0));  
    }
}

输出
18.456
23.12

3.代码实现
方法1:

package 蓝桥杯;

public class 分配口罩 {
	public static int[] num= {9090400, 8499400, 5926800, 8547000, 4958200,
            4422600, 5751200, 4175600, 6309600, 5865200, 6604400, 4635000,
            10663400, 8087200, 4554000};
    public static long res=Long.MAX_VALUE;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		dfs(0,0,0);
		System.out.println(res);
		
		
	}
	public static void dfs(int k,int sum1,int sum2)
	{ //深搜的次数
		if(k==15)//刚好一条路走到底(遍历到底),返回题目所求最小值
		{
			res=res<Math.abs(sum1-sum2)?res:Math.abs(sum1-sum2);
			return;
		}
		//如果该路径不通,则深搜次数加一,返回前一个节点,继续搜索
		dfs(k+1,sum1+num[k],sum2);
		dfs(k+1,sum1,sum2+num[k]);
	}

}

4.答案
2400

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:36:03  更:2022-04-04 12:38:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:43:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码