牛客 计算某字符出现次数

计算某字符出现次数

计算某字符出现次数

要点:1.大写字母ASCII码65开始,小写97开始;
2.或者用库函数tolower©:tolower©是一个标准库函数,它是C++中库的一部分。这个函数接受一个字符(大写或小写)作为输入,如果输入字符为大写字母,则将其转换为小写字母。小写字母和非字母字符在调用这个函数后保持不变。这也就是说,这个函数返回输入字符对应的小写版本。
方法一:

#include <iostream>
#include <string>
using namespace std;int main() {string s;getline(cin, s);char target;cin >> target;int cnt = 0;for(char i : s){if(i == target){cnt += 1;continue;}else if((i >= 65 && i <= 90 && i+32 == target) || i >= 97 && i <= 122 && i - 32 == target){cnt += 1;}}cout << cnt;return 0;
}
// 64 位输出请用 printf("%lld")

方法二:

#include <cctype>
#include <iostream>
#include <string>
#include <algorithm>using namespace std;int main(){string s;getline(cin, s);char target;cin >> target;char k = tolower(target);  // 将k转化为小写,大写转化为小写,小写和其它不变transform(s.begin(), s.end(), s.begin(), ::tolower);  // 将s转换为小写int result = count(s.begin(), s.end(), k);  // 计数cout << result;return 0;
}

transform解释

transform(s.begin(), s.end(), s.begin(), ::tolower); 这行代码对字符串s执行了一个转换操作,将s中的所有字符都变为小写。让我们究竟看看每个部分是如何运作的。
std::transform()是C++标准库中的一个算法,它可以将一个函数应用于一个范围内的每个元素,并将结果存储在另一个范围内。具体来说,它有四个参数:
输入范围的开始(s.begin()): 我们希望从s的开头开始转换。
输入范围的结束(s.end()): 我们希望转换到s的结尾。
输出范围的开始(s.begin()): 我们希望将结果保存回s,所以输出范围也从s的开头开始。
转换函数(::tolower): 我们希望对每个字符执行的操作。::tolower是一个函数,它将任何大写字符转换为小写。双冒号(::)表示这个函数属于全局命名空间。
执行这行代码后,字符串s中的所有字符都会被转换为小写。适用这个转换操作的情况之一就是你想要在不区分大小写的情况下处理字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/806449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图书馆自习室|基于SSM的图书馆自习室座位预约小程序设计与实现(源码+数据库+文档)

图书馆自习室目录 基于SSM的图书馆自习室座位预约小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端&#xff1a; 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a…

设计模式(016)行为型之命令模式

命令模式&#xff0c;它将请求封装成一个对象&#xff0c;从而允许客户端参数化操作队列、记录请求日志、支持撤销操作等。在命令模式中&#xff0c;有四个核心角色&#xff1a;命令接口&#xff08;Command&#xff09;、具体命令&#xff08;ConcreteCommand&#xff09;、调…

MacOS下Qt 5开发环境安装与配置

最近笔者在MacOS中使用Qt Creator开发Qt程序时遇到了一些问题&#xff0c;在网上查了不少资料&#xff0c;都没有找到解决方案&#xff0c;只有自己进行研究摸索了&#xff0c;今天晚上终于将目前遇到的问题全部解决了&#xff0c;特记录下来分享给大家。 笔者使用的是MacOS 1…

【高校科研前沿】青藏高原所李新研究员为第一作者在REV GEOPHYS发表长篇综述:陆面数据同化–陆面过程研究中理论与数据的和弦

1.文章简介 论文名称&#xff1a;Land Data Assimilation: Harmoni-zing Theory and Data in Land Surface Process Studies 第一作者及通讯作者&#xff1a;李新研究员&#xff08;兼通讯作者&#xff09; 第一作者及通讯作者单位&#xff1a;中国科学院青藏高原研…

Golang ProtoBuf 初学者完整教程:安装

一、Protobuf 特点 更高效&#xff1a;使用二进制编码&#xff0c;相比XML/JSON更加高效 跨语言支持&#xff1a;Protobuf 在 .proto 定义需要处理的结构化数据&#xff0c;可以通过 protoc 工具&#xff0c;将 .proto 文件转换为 C、C、Golang、Java、Python 等多种语言的代…

在线客服系统:客服源码与在线客服搭建企业沟通的未来

随着互联网技术的飞速发展&#xff0c;在线客服系统已成为企业与客户沟通的重要桥梁。在这个信息爆炸的时代&#xff0c;客户对于服务质量的要求越来越高&#xff0c;企业如何通过高效的在线客服系统提升用户体验&#xff0c;增强客户满意度&#xff0c;已成为提升竞争力的关键…

JS阅读笔记

myweb3.html <video id"video" width"400" height"300" autoplay></video> <button id"capture-btn">拍摄图片</button> <canvas id"canvas" width"400" height"300">&…

win11-CapsWriter-Offline

https://github.com/Garonix/CapsWriter-Offline. 下载exe. git clone https://github.com/Garonix/CapsWriter-Offline/tree/docker-support 权重扔进models docker-compose up -d 打开exe

网站SEO关键词规划时如何筛选出合适的关键词?

在网站SEO优化过程中&#xff0c;关键词布局是一个至关重要的环节。首先&#xff0c;我们需要确定核心关键词&#xff0c;然后通过各种策略和方法对关键词进行扩展。完成关键词扩展后&#xff0c;接下来的任务就是对这些扩展后的关键词进行筛选。那么&#xff0c;如何进行有效的…

学习java第三十九天

一般使用 Autowired 注解让 Spring 容器帮我们自动装配 bean。要想把类标识成可用于 Autowired 注解自动装配的 bean 的类,可以采用以下注解实现&#xff1a; Component&#xff1a;通用的注解&#xff0c;可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层&#x…

模型训练基本概念-赛博炼丹

文章目录 拓展知识基础名词解释&#xff08;语义库更新&#xff09;机器学习任务流程模型训练基本流程模型训练详细流程正向传播与反向传播正向传播-求误差值反向传播-求参数值 学习率激活函数激活函数-为什么希望激活函数输出均值为0&#xff1f;激活函数 — softmax & ta…

机器学习和深度学习-- 李宏毅(笔记与个人理解)Day10

Day 10 Genaral GUidance training Loss 不够的case Loss on Testing data over fitting 为什么over fitting 留到下下周哦~~ 期待 solve CNN卷积神经网络 Bias-Conplexiy Trade off cross Validation how to split? N-fold Cross Validation mismatch 这节课总体听下来比较…

使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API

Vercel部署FreeGPT35有严重限制&#xff0c;玩玩就好&#xff0c;真用还是得docker。 限制原因: Vercel的流式响应并不是一开始写流&#xff0c;客户端就能立刻收到响应流&#xff0c;而是先写到一个缓冲区&#xff0c;当流关闭才一股脑的流式响应回来(不是实时流) 因此导致: …

VideoGPT:Video Generation using VQ-VAE and Transformers

1.introduction 对于视频展示&#xff0c;选择哪种模型比较好&#xff1f;基于似然->transformers自回归。在没有空间和时间溶于的降维潜在空间中进行自回归建模是否优于在所有空间和时间像素级别上的建模&#xff1f;选择前者&#xff1a;自然图像和视频包括了大量的空间和…

Spring 统一功能处理

前言:为什么要有统一功能处理? 我们在进行数据的返回的时候,不同的方法返回的数据类型也不一样,但是我们前端有时候期望拿到是一样的数据类型。就好比买菜的时候期望最后是用一个大的塑料袋进行包装的。 那么我们可以在HTTP进行响应的之前,做一些事情,让我们返回的数据统…

【八股】AOP

AOP(Aspect Oriented Programming)&#xff0c;面向切面编程&#xff0c;他是一种编程范式。 作用&#xff1a; 在不改变原始设计的的基础上对其进行功能增强。 几个基本概念&#xff1a; 连接点&#xff1a;所有的方法 切入点&#xff1a;追加功能的方法 通知&#xff1a;追加…

组合逻辑电路( Combinational Logic Circuit)知识点总结

目录 一、组合逻辑电路的基本设计方法 1.特点 2.逻辑功能的描述 3.组合逻辑电路的分析步骤 4.组合逻辑电路的设计方法 二、编码器的逻辑电路 1.普通编码器 2.优先编码器 三、二进制和二-十进制译码器 1.3-8译码器 2.二-十进制译码器 3.应用&#xff1a;逻辑函数发生…

基于GRU实现评论文本情感分析

一、问题建模 在线评论的细粒度情感分析对于深刻理解商家和用户、挖掘用户情感等方面有至关重要的价值&#xff0c;并且在互联网行业有极其广泛的应用&#xff0c;主要用于个性化推荐、智能搜索、产品反馈、业务安全等。此博文&#xff0c;共包含6大类20个细粒度要素的情感倾…

11. 【Codeforces Round 938 (Div. 3)】D.不准确的后续搜索

D . 不准确的后续搜索 D.不准确的后续搜索 D.不准确的后续搜索 每次测试的时间限制&#xff1a; 2 秒 每次测试的时间限制&#xff1a;2 秒 每次测试的时间限制&#xff1a;2秒 每次测试的内存限制&#xff1a; 256 兆字节 每次测试的内存限制&#xff1a;256 兆字节 每次测试…

设计模式: 结构型之享元模式(7)

享元模式概述 享元模式&#xff08;Flyweight Pattern&#xff09;是一种用于优化性能的结构型设计模式&#xff0c;它通过共享对象来减少内存中对象的数量享元模式通常用于当系统中存在大量相同或相似对象时&#xff0c;通过共享这些对象的状态来减少内存消耗我们会充分利用类…