Java练习题——超市贴花
某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花。贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字。当收集到连续编号的三张贴花时,就可以换一个小礼物。
小明经常去某家超市购物,积攒了不少贴花,你帮他看看,能换多少小礼物。
输入格式:
首先是一个正整数N(1<N<100),表示小明手上的贴花的数量。 然后是N个正整数Pi(1<=Pi<=100),每个数字表示一张贴花的编号。
输出格式:
输出一个数字,表示小明可以换的小礼物的数量。如果不能换小礼物,就输出0。
输入样例:
6
3 2 4 6 6 4
输出样例:
1
2 3 4是一个组合,之后剩下的4 6 6不是连续的编号
ps:刚学容器的时候觉得真麻烦,现在嗯真香。
代码:
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;public class market {public static void main(String[] args) {Scanner sc = new Scanner(System.in);Map<Integer, Integer> map = new TreeMap<Integer, Integer>();//第一个Integer存储编号,第二个存储出现该编号的次数int n = sc.nextInt();int giftnum=0;for(int i=0;i<n;i++) {//输入数据并存入map中int key = sc.nextInt();if(map.containsKey(key)) map.replace(key, map.get(key)+1);else map.put(key, 1);}int tmpsum=0;//存储连续三个数的和int flag = 0;//标记已经读了几个数int tmpmin = 101;//存储连续三个数中最小的次数for(Map.Entry<Integer, Integer> entry:map.entrySet()) {flag++;tmpsum += entry.getKey();tmpmin = tmpmin < entry.getValue() ? tmpmin : entry.getValue();if(flag==3) {if(tmpsum%3==0) {giftnum += tmpmin;//累加最少满足条件的次数即总的换取小礼物的次数}tmpmin = 101;tmpsum = 0;flag = 0;}}System.out.println(giftnum);sc.close();}
}
Java练习题——超市贴花相关推荐
- PTA 超市贴花 Java代码
PTA 超市贴花 Java代码 题目详情 某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花.贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字.当收集到连续编号的三张贴花时, ...
- 7-22 超市贴花 (15 分)
7-22 超市贴花 (15 分) 某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花.贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字.当收集到连续编号的三张贴花时,就可以换 ...
- 2016计算机二级java_2016计算机二级JAVA练习题及答案
2016计算机二级JAVA练习题及答案 21.下列选项中,不能输出100个整数的.是( ). A.for(int i=0;i<100;i++) System.out.println(i); B. ...
- 20199计算机二级java答案_计算机二级Java练习题-2019.9
是不是急于做大量的计算机等级考试题库,却因测试结果不尽人意而心慌不安?不要急!考无忧小编为大家准备了一些二级Java练习题,希望能帮助大家高效复习,轻松通关! 1.下列叙述中正确的是(). A.栈是& ...
- 二级计算机java2017级_2017计算机等级二级考试java练习题及答案
2017计算机等级二级考试java练习题及答案 JAVA是计算机二级考试的科玛之一,你知道计算机二级考试JAVA科目都考哪些知识吗?为了方便考生备考计算机二级考试JAVA 科目.下面是小编为大家带来的 ...
- JAVA练习题库/JAVA面试题库
JAVA练习题库/JAVA面试题库 Day01 - 环境搭建 编程:在源文件 TestHello.java 中定义两个类,要求如下: ① 第一类为公开类:打印输出 "你好,我们是程序员.&q ...
- 计算机毕业设计Java智能超市导购系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java智能超市导购系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java智能超市导购系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- [附源码]计算机毕业设计JAVA校园超市进销存管理系统
[附源码]计算机毕业设计JAVA校园超市进销存管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(I ...
- Java练习题12.1
Java练习题12.1 分别采取递归和循环两种方法编程: 1.输入一个整数n,求n! 方法1: package com.shangjiti.aoian; import java.util.Scanne ...
最新文章
- linux下字符串处理工具二:awk( 二),awk脚本
- 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条
- php取汉字第一个字,php---------取汉字的第一个字的首字母
- MySQL数据类型与操作
- 添加组合索引时,做相等运算字段应该放在最前面
- ARM处理器详解(2)-Cortex R系列
- 本地win10服务器不能复制文件,手把手为你解说win10系统所有文件都不能复制的步骤...
- 微信公众平台开发(一) 配置接口
- MyCat的安装及基本使用(MySQL分库分表)
- php循环 跳转语句,golang循环跳转语句
- 我们工作到底为了什么
- SonarQube检测出的bug、漏洞以及异味的修复整理
- 杀毒软件工作原理及现有主要杀毒技术
- word插入对勾对号
- 有幸认识了龙王和参谋长
- 计算机科学学院宣传标语,师范学院宣传标语
- 台式计算机怎么加一个硬盘,如何给台式机添加硬盘?给电脑添加硬盘的方法
- 秀才还是野兽(规划还是探索)
- 解决windows10桌面输入法不见问题
- 关于PDR和P2DR两个网络安全模型