某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花。贴花有不同种类的,种类以编号表示,编号是一个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练习题——超市贴花相关推荐

  1. PTA 超市贴花 Java代码

    PTA 超市贴花 Java代码 题目详情 某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花.贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字.当收集到连续编号的三张贴花时, ...

  2. 7-22 超市贴花 (15 分)

    7-22 超市贴花 (15 分) 某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花.贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字.当收集到连续编号的三张贴花时,就可以换 ...

  3. 2016计算机二级java_2016计算机二级JAVA练习题及答案

    2016计算机二级JAVA练习题及答案 21.下列选项中,不能输出100个整数的.是( ). A.for(int i=0;i<100;i++) System.out.println(i); B. ...

  4. 20199计算机二级java答案_计算机二级Java练习题-2019.9

    是不是急于做大量的计算机等级考试题库,却因测试结果不尽人意而心慌不安?不要急!考无忧小编为大家准备了一些二级Java练习题,希望能帮助大家高效复习,轻松通关! 1.下列叙述中正确的是(). A.栈是& ...

  5. 二级计算机java2017级_2017计算机等级二级考试java练习题及答案

    2017计算机等级二级考试java练习题及答案 JAVA是计算机二级考试的科玛之一,你知道计算机二级考试JAVA科目都考哪些知识吗?为了方便考生备考计算机二级考试JAVA 科目.下面是小编为大家带来的 ...

  6. JAVA练习题库/JAVA面试题库

    JAVA练习题库/JAVA面试题库 Day01 - 环境搭建 编程:在源文件 TestHello.java 中定义两个类,要求如下: ① 第一类为公开类:打印输出 "你好,我们是程序员.&q ...

  7. 计算机毕业设计Java智能超市导购系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java智能超市导购系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java智能超市导购系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  8. [附源码]计算机毕业设计JAVA校园超市进销存管理系统

    [附源码]计算机毕业设计JAVA校园超市进销存管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(I ...

  9. Java练习题12.1

    Java练习题12.1 分别采取递归和循环两种方法编程: 1.输入一个整数n,求n! 方法1: package com.shangjiti.aoian; import java.util.Scanne ...

最新文章

  1. linux下字符串处理工具二:awk( 二),awk脚本
  2. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条
  3. php取汉字第一个字,php---------取汉字的第一个字的首字母
  4. MySQL数据类型与操作
  5. 添加组合索引时,做相等运算字段应该放在最前面
  6. ARM处理器详解(2)-Cortex R系列
  7. 本地win10服务器不能复制文件,手把手为你解说win10系统所有文件都不能复制的步骤...
  8. 微信公众平台开发(一) 配置接口
  9. MyCat的安装及基本使用(MySQL分库分表)
  10. php循环 跳转语句,golang循环跳转语句
  11. 我们工作到底为了什么
  12. SonarQube检测出的bug、漏洞以及异味的修复整理
  13. 杀毒软件工作原理及现有主要杀毒技术
  14. word插入对勾对号
  15. 有幸认识了龙王和参谋长
  16. 计算机科学学院宣传标语,师范学院宣传标语
  17. 台式计算机怎么加一个硬盘,如何给台式机添加硬盘?给电脑添加硬盘的方法
  18. 秀才还是野兽(规划还是探索)
  19. 解决windows10桌面输入法不见问题
  20. 关于PDR和P2DR两个网络安全模型

热门文章

  1. FatFS文件系统的使用(STM32)
  2. 项目规划管理 - 2
  3. DCI-P3广色域显示器的支持现状
  4. 适合小白的PPT基本操作
  5. 新书出版了(文末送书)
  6. bip39英文单词列表_快速使用语言工程构建瑞典的bip39单词表
  7. SharePoint 2013 SSO-Secure Store Service在实际案例中的应用
  8. linux下使用c语言模拟tail [-n] 命令
  9. 自动抠图,一个细致都透明头发丝都能抠出来的开源项目
  10. 图灵社区 : 阅读 : 十年码农聚会报道——让高龄老码农social起来