`
- 浏览:
269793 次
- 性别:
- 来自:
沈阳
-
用STL解决Let the Balloon Rise这道题的妙处
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
Sample Output
red
pink
code as following
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
int nCount;
while(cin>>nCount && nCount)
{
string color;//存放输入的颜色的临时变量
map<string,int> mapBalloon;//用map容器存放气球颜色及出现次数
while(nCount--)
{
cin>>color;//输入颜色
mapBalloon[color]++;
//因为是使用数组方式存入map容器,当输入的颜色已存在于容器关键字中时,不会重复存入容器,
//容器中的值是自动初始化为0的,所以这里只把此颜色关键字对应的值+1
}
map<string, int>::iterator iter;//遍历
int max=0;
for(iter = mapBalloon.begin(); iter != mapBalloon.end(); iter++)
{//第一次遍历标记最大次数所在位置
if(iter->second > max)
max = iter->second;
}
for(iter = mapBalloon.begin(); iter != mapBalloon.end(); iter++)
{//第二次遍历找到标记的位置
if(iter->second == max)
cout<<iter->first<<endl;
}
}
return 0;
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
C++ STL,全称为Standard Template Library(标准模板库),是C++编程语言中不可或缺的一部分,为程序员提供了高效且灵活的数据结构和算法。STL的主要组件包括容器(如vector、list、set等)、迭代器、算法和函数...
STL解决排队问题STL解决排队问题STL解决排队问题STL解决排队问题STL解决排队问题
在解决这类练习题时,我们需要考虑STL容器的特性,如内存管理、效率和适用场景。同时,使用递归时要注意防止无限递归和理解递归深度对性能的影响。通过这样的实践,开发者可以更加熟练地运用STL来解决实际问题,提高...
Mastering_the_C 17_STL Mastering_the_C 17_STL Mastering_the_C 17_STL
在这个问题的STL实现中,我们可以使用两种主要的数据结构——`std::vector`和`std::list`。`std::vector`是一种动态数组,它提供了随机访问和快速插入/删除的能力;而`std::list`则是一个双向链表,其优点在于元素的...
C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions Mastering the C++17 STL: Make full use of the standard library components in C++17 C__17 STL ...
这本书深入浅出地讲解了STL的一些潜在陷阱和最佳实践,如如何有效地使用容器、迭代器和算法,以及如何避免常见的性能问题。 "STL Programmer's Guide"则是一本全面的STL指南,它详细介绍了STL的各个组件,包括...
Standard Template Library Programmer's Guide The Standard Template Library, or STL, is a C++ library of container classes, algorithms, and iterators;...你应该确保你了解模板在C++之前你使用STL。
这项技术可以大大增强你的能力,协助你写出高效率并可重复运用的软件组件(software components)。 本书由知名的C++专家Matthew H.Austern执笔,引导你进入泛型编程思维模型,并将你带往此一模型的最重要成品:C++...
STL的设计理念是将算法与数据结构分离,这使得算法可以独立于容器的实现,只要容器满足一定的接口(概念,Concepts),就能使用相同的算法。这种设计大大提高了代码的可重用性,同时也保证了性能。 例如,你可以...
You will learn the key differences between classical polymorphism and generic programming, the foundation of the STL. You will also learn how to use the various algorithms and containers in the STL ...
在“STL.rar_3d_STL_STL文件显示_labview_stl顶点向量”这个项目中,我们将探讨如何使用LabVIEW(Laboratory Virtual Instrument Engineering Workbench)来处理和可视化STL文件,以及如何显示其中的顶点和法向量。...
《Effective STL》、《STL源码剖析》、《STL标准程序库》以及英文版的《The C++ Standard Library》这四本书是C++程序员深入理解和高效利用STL(Standard Template Library,标准模板库)的必备参考资料。STL是C++...
在MATLAB中处理3D点云数据时,STL(STereoLithography)文件是一种常见的格式,用于存储三维模型的表面数据。本教程将详细讲解如何在MATLAB环境中读取STL文件,并在图形用户界面(GUI)中进行显示。 ### STL文件...
在C++中,STL文件的读取通常涉及内存管理和文件流操作,这需要对C++基础有深入理解。此外,为了实现3D显示,还需要熟悉图形学的基本概念,如向量、矩阵变换、投影等。使用OpenGL或类似库进行渲染时,还需要理解顶点...
在这份文件中,列出了书籍中的若干要点,涵盖了容器的选择、容器无关代码的误解、对象拷贝的轻量正确性、容器操作的优化、指针管理、线程安全性、关联容器的使用、迭代器的高效运用、STL算法的正确使用方法、仿函数...
but we'll cover the entire modern STL (every standard container and every standard algorithm), plus such important topics as smart pointers, random numbers, regular expressions, and the new-in-C++17 ...
STL(STereoLithography)文件格式是3D打印和计算机辅助设计(CAD)领域中广泛使用的一种标准文件格式。这种格式最初由3D Systems公司开发,用于描述三维几何形状,尤其是为立体光刻(Stereo Lithography Apparatus...
这个“STL中文手册 doc文档”显然是为了解决C++程序员在使用STL时遇到的问题,帮助他们更好地理解和运用这个强大的工具。 STL主要包括四大组件:容器(Containers)、迭代器(Iterators)、算法(Algorithms)和...