题目 1487: 蓝桥杯算法提高VIP-不同单词个数统计

题目链接

题目大意

输入一个句子,计算有多少个不同的单词

解题思路

 1.因为是单词 所以无法利用 map 统计单个字符的数量的方法来统计不同的单词数量

 2.如果 用 set 函数 遍历句子长度,将字符插入 set 中也是无法实现计算数量

 3.那么需要利用思考set 的用法 ,再 进行计数

坑点

1.无

算法一: 字符串+set

实现步骤

 1. 定义一个set 函数

 2. 利用 while(cin>> 字符串)

 3.将字符串 插入 set 中 ,最后输出  set 大小 

代码

 

#include<bits/stdc++.h>
using namespace std;
set<string> b;//定义一个 string 类型的 set b 进行去重 
int main()
{
	string s;
	//cin>>s;
	//for(int i=0;i<=s.length();i++) 这样遍历  
	//{
	//	b.insert(s[i]);  再将字符插入 ,得到的是错误的 
	//}
	while(cin>>s)//当读入字符串时 cin 会将空格进行读入 
	{
		b.insert(s);//这里要注意是要将 字符串名 插入到 b 中,而不是 s[i] 
	}
	cout<<b.size();//最终直接输出set 的大小 
	return 0;
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值