博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(牛客)到底买不买-Java
阅读量:3959 次
发布时间:2019-05-24

本文共 1320 字,大约阅读时间需要 4 分钟。

题目来源

题目描述

小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。

为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如,YrR8RrY是小红想做的珠串;那么ppRYYGrrYBR2258可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;ppRYYGrrYB225不能买,因为没有黑色珠子,并且少了一颗红色的珠子。

在这里插入图片描述

题目解析

分别使用map存放珠子

统计商人手上的珠子不同颜色的数量(HashMap)
统计用户手上的珠子不同颜色的数量(HashMap)
以用户为参考目标,判断商人是否存在用户要求的颜色和数量,进行统计差值和是否满足条件

题目解答

import java.util.Scanner;import java.util.Map;import java.util.Map.Entry;import java.util.HashMap;public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in); String have=sc.nextLine(); String need=sc.nextLine(); Map
h=new HashMap<>(); for(char c:have.toCharArray()){
if(h.containsKey(c)){
h.put(c,h.get(c)+1); }else{
h.put(c,1); } } Map
n=new HashMap<>(); for(char c:need.toCharArray()){
if(n.containsKey(c)){
n.put(c,n.get(c)+1); }else{
n.put(c,1); } } boolean wealthy=true; int lack=0; for(Entry
en:n.entrySet()){
char k=en.getKey(); int v=en.getValue(); if(h.containsKey(k)&&h.get(k)

转载地址:http://pclzi.baihongyu.com/

你可能感兴趣的文章
杭电ACM——1086,You can Solve a Geometry Problem too(思维)
查看>>
杭电ACM——2057,A + B Again(思维)
查看>>
codeforces——1097B,Petr and a Combination Lock(搜索)
查看>>
杭电ACM——2064,汉诺塔III(递推)
查看>>
杭电ACM——2065,"红色病毒"问题(思维)
查看>>
北大ACM——2385,Apple Catching(DP)
查看>>
杭电AM——2072,单词数(暴力)
查看>>
杭电ACM——2073,无限的路(思维)
查看>>
杭电ACM——2069,Coin Change(DP)
查看>>
杭电ACM——2074,叠筐
查看>>
北大ACM——3616,Milking Time(DP)
查看>>
杭电ACM——2076,夹角有多大
查看>>
牛客练习赛43——B Tachibana Kanade Loves Probability(暴力,思维)
查看>>
牛客第十七届上海大学程序设计春季联赛——E CSL 的魔法(贪心)
查看>>
杭电ACM——1028,Ignatius and the Princess III(母函数)
查看>>
杭电ACM——1171,Big Event in HDU(母函数)
查看>>
杭电ACM——6491,时间间隔(思维)
查看>>
杭电AC——1085,Holding Bin-Laden Captive!(母函数)
查看>>
杭电ACM——2110,Crisis of HDU(母函数)
查看>>
杭电AM——2152,Fruit(母函数)
查看>>