| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:额。又通不过了。。。我真的不是水贴。。
只看楼主 加入收藏
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
额。又通不过了。。。我真的不是水贴。。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;


public class Main {
    public static void main(String [] args)
    {
        Map<String,Integer> map=new HashMap<String,Integer>();
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();        
        while(n!=0)
        {
            String rs="";
            map.clear();
            int nCount=1;
            for(int i=0;i<n;i++)
            {
                String str=in.next();
                if(map.containsKey(str))
                {
                    map.put(str, map.get(str)+1);//如果集合里有这个字符串,则其值+1
                    if(map.get(str)>nCount)//如果值比原先最大的大,则把值赋给nCount把字符串付给rs
                    {
                        nCount=map.get(str);//题目里说数据保证解是唯一的
                        rs=str;             //所以我觉得nCount最后至少是2,就没去管都是1个的情况
                    }
                }
                else
                {
                    map.put(str,1);
                }
            }
            System.out.println(rs);
            n=in.nextInt();
        }
        
    }

}
1004题。.。。
搜索更多相关主题的帖子: public import 
2010-08-17 17:38
syg5434
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山沟沟
等 级:版主
威 望:10
帖 子:285
专家分:781
注 册:2010-2-28
收藏
得分:5 
往map里的key放字符串,如果已经存在,就把value加1,对吧?
没有什么问题啊,我运行了一下,依次输入:3,key,key1,key
然后打印了一下map.get("key1"),结果就是1;打印map.get("key"),结果就是2。
你遇到的是什么问题?

不要迷恋哥,嫂子会揍你。阿-弥-陀-佛--!
2010-08-17 19:08
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0

Sample Output
red
pink

题目 就是打一个数字n,然后再输入n个字符串,然后输出数量最多的那个字符串,输入0的时候结束。

我自己测试发现了几个问题,然后改成这个样子后我看不出问题在哪里了。。。但是还是说WRONG ANSWER。。

所以想靠大家慧眼来看看了。。。

2010-08-17 19:27
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
回复 2楼 syg5434
恩,VALUE我当计数器在用。我在想会不会是没考虑1的问题。。。哦。。我好像明白啥了。。
2010-08-17 19:29
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:5 
回复 4楼 毕业旅行
1、没有考虑1的情况
2、没有考虑并列最多的情况
2010-08-17 19:35
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;


public class Main {
    public static void main(String [] args)
    {
        Map<String,Integer> map=new HashMap<String,Integer>();
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();        
        while(n!=0)
        {
            String rs="";
            map.clear();
            int nCount=1;
            for(int i=0;i<n;i++)
            {
                String str=in.next();
                if(map.containsKey(str))
                {
                    map.put(str, map.get(str)+1);//如果集合里有这个字符串,则其值+1
                    if(map.get(str)>nCount)//如果值比原先最大的大,则把值赋给nCount把字符串付给rs
                    {
                        nCount=map.get(str);//题目里说数据保证解是唯一的
                        rs=str;             //所以我觉得nCount最后至少是2,就没去管都是1个的情况
                    }
                }
                else
                {
                    map.put(str,1);
                   if(i==0)
                    {
                      rs=str;
                     }
                }
            }
            System.out.println(rs);
            n=in.nextInt();
        }
        
    }

}

哈哈,通过了,加了红色的那句,原来是没考虑到如果只输入一个字符串也算是唯一解的情况。。。所以不能忽略VALUE可能为1的情况,
2010-08-17 19:36
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
回复 5楼 shellingford
恩,对的,并列最多不需要考虑,但是1的情况漏掉了。。。

Output
For each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case.

被这句话迷惑了。想当然觉得最少也要是2的情况。。。
2010-08-17 19:37
syg5434
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山沟沟
等 级:版主
威 望:10
帖 子:285
专家分:781
注 册:2010-2-28
收藏
得分:0 
没想到是这个功能,通过了就好

不要迷恋哥,嫂子会揍你。阿-弥-陀-佛--!
2010-08-17 19:44
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
收藏
得分:0 
回复 8楼 syg5434
恩,功能不难啊,我第一反应是一个字符串组+一个数组对应

顿时想到java的集合框架就特地翻API用hashmap来做哈,生怕版主大大又进来说,咋又是C语言。。。

通过了就感觉良好,呵呵,不要笑初学者哈
2010-08-17 19:53
快速回复:额。又通不过了。。。我真的不是水贴。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080394 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved