HJ10 字符个数统计HJ11 数字颠倒HJ12 字符串反转

HJ10 字符个数统计

字符个数统计_牛客题霸_牛客网

题目分析

这个问题可以通过维护一个字符出现频率的数组来解决。考虑到 ASCII 码的范围是 0~127,我们可以创建一个长度为 128 的布尔数组(或者使用位操作优化空间),用来标记某个字符是否出现过。遍历输入字符串的每个字符,如果该字符在 ASCII 范围内,并且之前未标记过,就将其对应的标记位置为 true 并增加不同字符的计数。最后,输出不同字符的总数即可。

题解代码

#include <iostream>
#include <string>
using namespace std;int countUniqueCharacters(const string& str) {// 创建一个布尔数组来标记字符是否出现过,初始都为 falsebool appeared[128] = {false};int count = 0; // 用于统计不同字符的数量for (char ch : str) {// 检查字符是否在 ASCII 范围内if (ch >= 0 && ch <= 127) {// 如果该字符之前没有出现过,增加计数并标记为已出现if (!appeared[ch]) {appeared[ch] = true;++count;}}}return count;
}int main() {string input;cin >> input; // 读取输入的字符串cout << countUniqueCharacters(input) << endl; // 输出不同字符的数量return 0;
}

我的代码

#include <iostream>
#include <string>
#include <unordered_set>
int main() {std::string line;std::unordered_set<char> uset;std::getline(std::cin, line);for (char i: line) {uset.insert(i);}std::cout << uset.size() << std::endl;return 0;
}

HJ11 数字颠倒

数字颠倒_牛客题霸_牛客网

题目分析

为了解决这个问题,我们可以首先将整数转换成字符串,然后逆序这个字符串。C++ 中有多种方法可以完成这个任务,但最直接的方法是使用标准库中的 `std::to_string` 函数将整数转换为字符串,接着使用 `std::reverse` 对字符串进行逆序操作。

下面是具体的实现步骤:

1. 使用 `std::to_string` 将输入的整数转换为字符串。
2. 使用 `std::reverse` 函数逆序字符串。
3. 输出逆序后的字符串。

下面是实现这个逻辑的 C++ 代码示例:

#include <iostream>
#include <string>
#include <algorithm> // 包含 std::reverseint main() {unsigned int n;std::cin >> n; // 读取输入的整数// 将整数转换为字符串std::string str = std::to_string(n);// 使用 std::reverse 逆序字符串std::reverse(str.begin(), str.end());// 输出逆序后的字符串std::cout << str << std::endl;return 0;
}

这段代码首先从标准输入读取一个整数,然后将其转换为字符串并逆序,最后输出逆序后的字符串。注意,这个程序假设输入的整数是非负的,符合题目要求。

我的解法

#include <iostream>
int main() {int num;std::cin >> num;if (num == 0) std::cout << num;while (num > 0) {int out =  num % 10;std::cout << out;num = num / 10;}return 0;
}

HJ12 字符串反转

字符串反转_牛客题霸_牛客网、

题目分析

  1. 读取输入:首先,需要读取一行输入,这行输入是一个只包含小写字母的字符串。
  2. 反转字符串:使用C++标准库中的功能或者自定义的方式来反转字符串。
  3. 输出结果:打印或输出反转后的字符串。
    #include <iostream>
    #include <algorithm> // 包含 std::reverse
    using namespace std;int main() {string str;cin >> str; // 读取输入reverse(str.begin(), str.end()); // 反转字符串cout << str << endl; // 输出结果return 0;
    }
    
    方法2:自定义函数实现反转、
  4. #include <iostream>
    using namespace std;int main() {string str;cin >> str; // 读取输入int n = str.length();// 自定义反转for(int i = 0; i < n / 2; ++i) {swap(str[i], str[n - i - 1]);}cout << str << endl; // 输出结果return 0;
    }

    HJ13 句子逆序

  5. 句子逆序_牛客题霸_牛客网

题目分析

  1. 分割单词:将每个输入的句子按空格分割成单词。
  2. 逆序排放:将分割出来的单词数组逆序。
  3. 输出结果:将逆序后的单词数组重新组合成一个句子,并输出。

acm代码

#include <iostream>
#include <vector>
#include <sstream>
#include <algorithm>int main() {std::string line;std::getline (std::cin , line);std::istringstream iss(line);std::vector<std::string> words;std::string word;while (iss >> word) {words.push_back(word);}std::reverse(words.begin(), words.end());for (int i = 0; i < words.size(); i ++) {std::cout << words[i];if (i != words.size() - 1) {std::cout << " ";}}std::cout << std::endl;return 0;
}

我的解法

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>int main() {std::string line;std::string temp;std::getline(std::cin, line);std::vector<std::string> vec;for (int i = 0; i < line.size(); i++) {if (line[i] != ' ') {temp.push_back(line[i]);}else if (line[i] == ' '  ){vec.push_back(temp);temp.clear();}if (i == (line.size() - 1)) vec.push_back(temp);}std::reverse(vec.begin(), vec.end());for (std::string i: vec) {std::cout << i << " ";}return 0;
}

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

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

相关文章

深度学习,CRNN+CTC和Attention OCR你更青睐哪一种?

深度学习在OCR领域的应用已经取得了瞩目的成果&#xff0c;而选择合适的算法对于提升OCR的识别准确率至关重要。在众多算法中&#xff0c;CRNN和Attention OCR犹如两颗璀璨的明珠&#xff0c;备受瞩目。 CRNN&#xff0c;这位结合了卷积神经网络&#xff08;CNN&#xff09;和…

电子电器架构 —— 诊断数据DTC具体故障类型篇

电子电器架构 —— 诊断数据DTC具体故障类型篇 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师 (Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝…

Spark Stage

Spark Stage 什么是Stage Spark中的一个Stage只不过是物理执行计划其中的一个步骤&#xff0c;它是物理执行计划的一个执行单元。一个Job会被拆分为多组Task&#xff0c;每组任务被称为一个Stage&#xff0c;可以简单理解为MapReduce里面的Map Stage&#xff0c; Reduce Stag…

Unity 中 苹果眼镜开发入口

1. 文档介绍了Unity对Apple新操作系统visionOS的支持。 2. Unity提供了完善的文档、模板和支持,帮助开发者快速为visionOS开发应用。 3. Unity的跨平台框架AR Foundation和XR Interaction Toolkit可以帮助现有移动和XR应用无缝迁移到visionOS。 4. 在visionOS上,可以利用Uni…

kafka(三)——librdkafka编译与使用(c++)

linux下编译 源码下载 git clone https://github.com/edenhill/librdkafka配置、编译和安装 # 进入目录 cd librdkafka/# 配置 ./configure# 编译 make# 安装 make install头文件和库目录 # 头文件 /usr/local/include/librdkafka rdkafkacpp.h rdkafka.h rdkafka_mock.h #…

LLM漫谈(五)| 从q star视角解密OpenAI 2027年实现AGI计划

最近&#xff0c;网上疯传OpenAI2027年关于AGI的计划。在本文&#xff0c;我们将针对部分细节以第一人称进行分享。​ 摘要&#xff1a;OpenAI于2022年8月开始训练一个125万亿参数的多模态模型。第一个阶段是Arrakis&#xff0c;也叫Q*&#xff0c;该模型于2023年12月完成训练&…

vue3+threejs新手从零开发卡牌游戏(十一):添加简单的手牌上场逻辑

首先优化之前的战域相关代码&#xff0c;主要是将战域分成两部分&#xff0c;上方是对方战域&#xff0c;下方是己方战域&#xff0c;然后修改了战域中格子的名称&#xff0c;方便后续不同手牌上场的逻辑区分&#xff1a; game/site/index.vue完整代码如下&#xff1a; <!…

【WEEK4】 【DAY4】AJAX第一部分【中文版】

【WEEK4】 【DAY4】AJAX第一部分【中文版】 2024.3.21 Thursday 目录 8.AJAX8.1.简介8.2.伪造ajax8.2.1.新建module&#xff1a;springmvc-06-ajax8.2.2.添加web支持&#xff0c;导入pom依赖8.2.2.1.修改web.xml8.2.2.2.新建jsp文件夹 8.2.3.新建applicationContext.xml8.2.4.…

快速入门Kotlin②控制流函数

控制流 if if是一个表达式&#xff0c;可以用于条件判断和控制流。 fun main() {// 传统用法val a 1val b 2var max aif (a < b) max b// With elsevar max2: Intif (a > b) {max2 a} else {max2 b}// 作为表达式val max3 if (a > b) a else b } when whe…

蓝桥杯刷题_day2

文章目录 DAY2杨辉三角查找整数数列特征字母图形(未通过全部样例) DAY2 杨辉三角 【题目描述】 杨辉三角形又称Pascal三角形&#xff0c;它的第i1行是(ab)i的展开式的系数。它的一个重要性质是&#xff1a;三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的…

2024智能短信营销推广系统使用攻略

智能短信营销推广系统以其精准、高效的特点&#xff0c;成为企业与消费者建立联系的重要桥梁。云衔科技凭借其先进的技术和专业的服务&#xff0c;为企业提供了一套完善的智能短信营销推广系统解决方案&#xff0c;让企业在短时间内实现大规模、个性化的短信营销活动。 云衔科…

01---java面试八股文——mybatis-------10题

1、什么是MyBatis Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;开发时只需要关注SQL语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql&#xff0c…

数据结构与集合(一)

当我们谈论数据结构时&#xff0c;我们实际上在讨论一种组织和管理数据的方式。数据结构是计算机科学中非常重要的一部分&#xff0c;它为我们提供了存储、检索和操作数据的方法。在数据结构中&#xff0c;链表是一种基本且常用的数据结构&#xff0c;它由一系列节点组成&#…

【Word自动化办公】使用python-docx对Word进行操作

目录 一、环境安装 二、文档各组成结构获取 2.1 组成结构讲解 2.2 段落run对象的切分标准 三、获取整篇文档内容 四、写入指定样式的数据 4.1 通过add_paragraph与add_run参数添加样式 4.2 单独设置文本样式 五、添加标题 六、换行符&换页符 七、添加图片数据 …

Go 版本 Etcd 客户端操作 Etcd(附完整 Demo)

Etcd 相关参考资料 Etcd 的介绍与使用&#xff1a;Etcd 介绍与使用&#xff08;入门篇&#xff09;-CSDN博客 Etcd Raft 协议&#xff1a;Etcd Raft 协议&#xff08;进阶篇&#xff09;-CSDN博客 本文诣在使用 Go 客户端操作 Etcd&#xff0c;并实现元数据的写入&#xff0…

迷宫(一)(DFS BFS)

//新生训练 #include <bits/stdc.h> using namespace std; int n, m; bool f; char mp[15][15]; int vis[15][15]; int dir[4][2] {{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; bool in(int x, int y) {return 0 < x && x < n && 0 < y && y …

2.1-如何配置华三网络设备的远程登录?(ssh,telnet,https)

&#xff08;1&#xff09;华三网络设备远程登录的配置实验 1.实验目标 目标&#xff1a;实现远程ssh登录基本配置(http,https登录&#xff09; 要求&#xff1a;配置后&#xff0c;即可使用远程工具进行远程登录。 配置过程&#xff1a; 1.创建交换机的本地帐号。&#xff0…

NFT交易市场-后端开发

首先我们需要配置好我们的ipfs&#xff0c;参考官方文档 1.https://docs.ipfs.tech/install/command-line/#system-requirementshttps://docs.ipfs.tech/how-to/command-line-quick-start/#initialize-the-repository 首先新建一个文件夹 然后在终端输入npm init -y命令进行初…

深入理解Redis的Sentinel机制

Sentinel简述 Sentinel为了解决什么问题&#xff1f; Sentinel&#xff08;哨岗、哨兵&#xff09;是Redis的高可用性&#xff08;high availability&#xff09;解决方案。 我们知道Redis 的主从复制模式可以将主节点的数据改变同步给从节点&#xff0c;这样从节点就可以起…

docker 和K8S知识分享

docker知识&#xff1a; 比如写了个项目&#xff0c;并且在本地调试没有任务问题&#xff0c;这时候你想在另外一台电脑或者服务器运行&#xff0c;那么你需要在另外一台电脑或者服务器配置相同的软件&#xff0c;比如数据库&#xff0c;web服务器&#xff0c;必要的插件和库等…