?
????????使用java中的Set 子接口,其特點是元素無序,并且不可重復。
? ? ? ? 在遍歷set集合的同時修改元素會拋出java.util.ConcurrentModificationException并發(fā)修改異常
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int length = scanner.nextInt(); //有幾個砝碼
HashSet<Integer> set = new HashSet<>(); //用來去重元素
List<Integer> list; //不可以直接遍歷set集合,遍歷set時修改元素會產生修改異常,list集合用來遍歷
set.add(scanner.nextInt()); //將輸入的第一個重量添加到set集合中
int twoToEnd; //在第一個砝碼加入之后的所有砝碼
for(int i = 0; i < length - 1; i++){ //因為已經接受了第一個砝碼,所以注意循環(huán)條件
twoToEnd = scanner.nextInt(); //接受除第一個輸入的砝碼重量
list = new ArrayList<>(set); //將set集合元素添加到list集合中
for(Integer others : list){ //遍歷list集合中所有元素
if(others != twoToEnd){ //如果不相等,無腦經過三次運算(+ — 其本身)添加到set集合中
set.add(Math.abs(others - twoToEnd));
}
set.add(twoToEnd + others);
}
set.add(twoToEnd);
}
System.out.println(set.size());
}
}
文章來源:http://www.zghlxwxcb.cn/news/detail-730323.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-730323.html
到了這里,關于藍橋杯試題 歷屆真題 砝碼稱重【第十二屆】【java省賽】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!