HDOJ 1004 水题(但有值得注意的地方)

2024-04-05 23:38

本文主要是介绍HDOJ 1004 水题(但有值得注意的地方),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意:统计出现最多次数的单词

code1:

注意这个 需要判断 是否越界(while循环位置),

#include<bits/stdc++.h>
using namespace std;/*	题目很简单 但是需要注意的是 最后几个相等 的时候 会出现 数组越界的问题 
*/
int main(){string color;int n;while(cin >> n && n!=0){vector<string> vec;for(int i = 0; i < n; ++i){cin >> color;vec.push_back(color);}sort(vec.begin(),vec.end());int i,ans = 0,len;string pop = vec[0];for(i = 1; i < vec.size();){len = 1;while(i < vec.size() && vec[i-1] == vec[i]){++i;++len;//cout << vec[i] << endl;  } if(len > ans){ans = len;pop = vec[i-1];}++i;}cout << pop << endl;}return 0;}

 

code2: map

 

#include<bits/stdc++.h>
using namespace std;
typedef map<string,int> msi;int main(){string color;int n;ios::sync_with_stdio(false);cin.tie(NULL);while(cin >> n && n != 0){msi mp;for(int i = 0; i < n; ++i){cin >> color;++mp[color];}msi::iterator it = mp.begin();int ans = -1;string pop;for(;it != mp.end(); ++it){if(it->second > ans){ans = it->second;pop = it->first;}}cout << pop <<endl;}return 0;	} 

 

这篇关于HDOJ 1004 水题(但有值得注意的地方)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878464

相关文章

uva 10055 uva 10071 uva 10300(水题两三道)

情歌两三首,水题两三道。 好久没敲代码了为暑假大作战热热身。 uva 10055 Hashmat the Brave Warrior 求俩数相减。 两个debug的地方,一个是longlong,一个是输入顺序。 代码: #include<stdio.h>int main(){long long a, b;//debugwhile(scanf("%lld%lld", &

Codeforces Round #182 (Div. 2)A(水题)

题目链接:http://codeforces.com/contest/302/problem/A 解题思路: 只要通过重新排列使区间内和为0即是1,否则是0. 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#inc

二分猜数易错的地方

今天做简单的二分猜数问题,while循环总是跳不出去,搞了好久才弄好了。。。好几次都这样,总结一下吧 while(left <= right){int mid = (left+right)/2;if(ok(mid)) left = mid+1,ans = mid;//记录结果,要不然跳不出循环,视题目而定,ans也可以写在下面else right = mid-1;}

HDU 2064 汉诺塔III(水题)

题目: http://acm.hdu.edu.cn/showproblem.php?pid=2064 题目大意: 有三根杆,求把n个圆盘从左边移到右边,最少需要移动圆盘的次数。移动规则为大盘不能放在小盘上,比原始的汉诺塔题改变的地方是,只能通过中间的杆往左右两边的杆移动。 心得: 此题心得在题外,不在题内,初看此题,尼玛吓了一跳,好像很难的样子,手贱百度了一下,只注意到俩字“水题”,赶紧

【SGU】115. Calendar 水题= =

传送门:【SGU】115. Calendar 题目分析:2001年1月1号星期1,然后就没什么好说的了= = 代码如下: #include <map>#include <vector>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespac

利用UIWebView获取userAgent需要注意的地方

网络通信有时候需要传递参数userAgent,iOS中获取userAgent很简单. UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectZero];NSString *userAgentString = [webView stringByEvaluatingJavaScriptFromString:@"naviga

解密虚拟内存0x400000以下的地方

一. 前言   最近看CSAPP时,对以前没有仔细注意的一处知识盲区产生了兴趣,所以进行了深入研究,并写下此文一记录。 二. 问题   二话不说直接上图。下图是CSAPP第七章的虚拟内存分析图。书中提到 在X86-64位Linux系统中,代码段总是从地址0x400000处开始,后面是数据段。堆在数据段之后,通过调用malloc向上增长…   但是0X400000以下呢?为什么没有

Codeforces Round #256 (Div. 2/A)/Codeforces448A_Rewards(水题)

解题报告 意思就是说有n行柜子,放奖杯和奖牌,要求每行柜子要么全是奖杯要么全是奖牌,而且奖杯每行最多5个,奖牌最多10个。 直接把奖杯奖牌各自累加,分别出5和10,向上取整和N比较 #include <iostream>#include <cstdio>#include <cstring>#include <stdlib.h>#include <algorithm>

解决android系统唤醒时间偏长------看log找可疑的地方

最近发现我们的手机的双击唤醒时间偏长,那么就需要去看是什么导致的。于是首先看唤醒的log [  252.830937] [ASDF] enter do_write_event_worker      //这个是打印log的service [  252.838638] [SENSOR] : inv_ak09911_pm_suspend [  252.838647] CM32683:  CM3

初学java——关于数组容易忽视的地方总结

1:静态初始化:有程序员显示指定每个数组的初始化,由系统决定数组的长度。      动态初始化:程序员只指定数组长度,由系统为数组元素分配初始值。 2:java数组变量是一种引用类型的变量,引用的是堆内存中数组对象,而不是栈内存中的数组变量。例如数组int[] A={1,2,3};int[] B={4,5,6};当执行下面语句时:A=B;则int[] A={4,5,6};引用数组A时,变量为数