栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

蓝桥杯 砝码称重【java】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯 砝码称重【java】

 

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

public class Main{
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 接收砝码的数量
		int length = sc.nextInt(); 
		//用来去重(砝码可以称出的重量)
		Set set = new HashSet<>(); 
		//用来遍历重量
		List list = null;; 
		
	    //先添加进去第一个砝码
		set.add(sc.nextInt());
		
		//这里注意减1,因为已经添加进去一个砝码
		for(int i = 0; i < length -1; i++) {
			
			//接收剩下的砝码
			int num = sc.nextInt(); 
			
			//set集合转为list集合,用来遍历
			list =  new ArrayList<>(set);
			
			//遍历重量
			for(Integer target : list) {
				
			    set.add(Math.abs(target - num));
				set.add(num + target);
				set.add(num);
			}
		}
	
		//最后输出set的长度,就是砝码求出的重量数,注意记得减1
		//因为当新砝码和重量一致时,相减得到0,而0这个重量是称不出来的
		System.out.println(set.size() -1);
	}
		
	
	
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762516.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号