力扣100284. 有效单词(C++)

【题解】

(实际在力扣中运行的代码只需要把下方的check函数放到力扣作答区给的模板中就可以)

#include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <string>
#include <cctype>
#include <cstring>
#include <string.h>using namespace std;bool check(vector<char > s)
{if(s.size()>=3){int yy=0,fy=0,zc=0;string fyset="bcdfghjklmnpqrstvwxyz";string yyset="aoeiu";for(int i=0;i<s.size();i++){if((s[i]>='0'&&s[i]<='9')||((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))){char c=tolower(s[i]);if(yyset.find(c)!=string::npos)yy++;if(fyset.find(c)!=string::npos)fy++;}else {zc=1;cout<<"s[i]="<<s[i]<<endl;}}//cout<<"fy="<<fy<<",yy="<<yy<<",zc="<<zc<<endl;if(zc==1) return false;else if(yy==0||fy==0)return false;else return true;}else return false;
}int main(int argc, char** argv) {char t;vector<char> ss;int flag=0;while(cin>>t){flag++;if(t=='"'&&flag==1){//flag=1;continue;}else if(t=='"')break;if(flag>=2) ss.push_back(t);}for(int i=0;i<ss.size();i++){//cout<<ss[i];}// cout<<endl;if(check(ss)){cout<<"true";}else cout<<"false";return 0;
}

知识点:对字符串的各种操作、string函数

string s="hello lyh!";

1、截取字符串中的一部分    

substr(起始位置的下标,截取的长度);   //起始位置的下标从0开始

例如:

string ss=s.substr(0,5);// "hello"

2、确定某个集合中是否存在某个元素,可以用map中的count()函数,也可以用string中的内置函数find();

find()函数的所有用法:

在`std::string`类中,`find`函数有多种重载形式,用于查找不同的字符或字符序列。以下是`find`函数的所有重载形式及其参数含义:
1. `size_t find(const string& str, size_t pos = 0) const;`- `str`:要查找的子字符串。- `pos`:开始搜索的位置。默认值为0,表示从字符串的第一个字符开始搜索。
2. `size_t find(const char* s, size_t pos, size_t count) const;`- `s`:要查找的字符序列。- `pos`:开始搜索的位置。默认值为0,表示从字符串的第一个字符开始搜索。- `count`:要查找的字符数量。如果`count`为0,则查找整个字符序列。
3. `size_t find(const char* s, size_t pos = 0) const;`- `s`:要查找的字符序列。- `pos`:开始搜索的位置。默认值为0,表示从字符串的第一个字符开始搜索。
4. `size_t find(const char ch, size_t pos = 0) const;`- `ch`:要查找的字符。- `pos`:开始搜索的位置。默认值为0,表示从字符串的第一个字符开始搜索。
这些函数的作用是返回字符串中第一个匹配的子字符串或字符的起始位置的索引。如果未找到匹配项,则返回`string::npos`。

3、如何在的输入时只读取一串字符串中的某一部分

如题解所示,

(1)、设输入的字符串为char数组,可以利用某个整数表示下标,设置下标为某个值是开始读;

(2)、设置输入的字符串为string类型,可以把整个字符串全读进来,再用substr()去截取;

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

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

相关文章

融知财经:期货交易的规则和操作方法

期货交易是指在未来的某一特定时期&#xff0c;买卖双方通过签订合约的方式&#xff0c;约定以某种价格买卖一定数量的某种商品或资产的行为。期货交易的规则和操作方法如下&#xff1a; 期货交易的规则和操作方法 1、双向交易&#xff1a; 期货市场允许投资者进行多头&#xf…

Python ArcPy批量将大量栅格文件的投影坐标系转为地理坐标系

本文介绍基于Python语言中的ArcPy模块&#xff0c;批量将多个遥感影像由投影坐标系转为地理坐标系的方法。 在之前的文章中&#xff0c;我们介绍过将单独1景遥感影像的投影坐标系转为地理坐标系的方法&#xff0c;大家可以参考文章投影坐标系转为地理坐标系&#xff1a;GDAL命令…

笔记86:关于【#ifndef + #define + #endif】的用法

当你在编写一个头文件&#xff08;例如 pid_controller.h&#xff09;时&#xff0c;你可能会在多个源文件中包含它&#xff0c;以便在这些源文件中使用该头文件定义的函数、类或其他声明。如果你在多个源文件中都包含了同一个头文件&#xff0c;那么当你将整个工程统一编译&am…

第六节课《Lagent AgentLego 智能体应用搭建》

PDF链接&#xff1a;https://pan.baidu.com/s/1JFtvBWgEGFWJq8pHafvIUg?pwd6666 提取码&#xff1a;6666 Lagent & AgentLego 智能体应用搭建_哔哩哔哩_bilibili https://github.com/InternLM/Tutorial/blob/camp2/agent/README.md InternStudio 一、为什么需要agent…

基于JSP的酒店客房管理系统(三)

目录 第四章 系统各模块的实现 4.1客房管理系统首页的实现 4.1.1 客房管理系统首页概述 4.2客房管理系统前台的实现 4.2.1 客房管理系统前台概述 4.2.2 客房管理系统前台实现过程 4.2.3 预定客房信息及客房信息的查询 4.3客房管理系统后台的实现 4.3.1 客房管理系统后…

微搭低代码入门05文件的上传和下载

目录 1 创建数据源2 创建应用3 创建页面4 设置导航功能5 文件上传6 文件下载总结 小程序中&#xff0c;我们通常会有文件的上传和下载的需&#xff0c;在微搭中&#xff0c;文件是存放在云存储中&#xff0c;每一个文件都会有一个唯一的fileid&#xff0c;我们本篇就介绍如何通…

Unity类银河恶魔城学习记录 17-1,2 p166 Aliments fx p167 Blackhole additional vfx

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Entity.cs using System.Collections; using System.Collections.Generic; …

Vue3(管理系统)-封装axios(utils)

一、在utils下编写request.js实例 1.添加基地址&#xff0c;设置超时时间 import axios from axios const baseURL http://big-event-vue-api-t.itheima.net const instance axios.create({// TODO 1. 基础地址&#xff0c;超时时间baseURL,timeout: 3000 }) 2.添加请求拦截…

[C++][数据结构]红黑树的介绍和模拟实现

前言 之前我们简单学习了一下搜索树和平衡搜索树&#xff0c;今天我们来学习一下红黑树 简介 概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着…

面试官:关于HTTPS/HTTP2/HTTP3你懂多少?

公众号&#xff1a;程序员白特&#xff0c;欢迎一起交流学习~ HTTPS是什么 HTTP为什么不安全&#xff1f; https被认为是通信安全的http&#xff0c;除了http多了s和默认端口改成了443之外&#xff0c;其他都是沿用的http&#xff08;除了明文和不安全&#xff09;&#xff0…

基于FPGA的数字信号处理(9)--定点数据的两种溢出处理模式:饱和(Saturate)和绕回(Wrap)

1、前言 在逻辑设计中&#xff0c;为了保证运算结果的正确性&#xff0c;常常需要对结果的位宽进行扩展。比如2个3bits的无符号数相加&#xff0c;只有将结果设定为4bits&#xff0c;才能保证结果一定是正确的。不然&#xff0c;某些情况如77 14(1110)&#xff0c;如果结果只…

SOLIDWORKS Electrical由3D布局生成2D机柜布局图

想要转换3D装配体到Electrical中需要在3D打开Electrical插件&#xff0c;并使用工程管理器打开需转换工程图的装配体 1、创建2D图纸 打开后在上方工具选项卡中选择-SOLIDWORKS Electrical选项卡-的创建2D图纸 2、选择图纸视角 使用创建2D图纸后就会进入工程图界面&#xff0c;在…

裁员为什么先裁技术人员?

最近这个问题比较火&#xff0c;我分享一个印象深刻的答案&#xff1a;楼盖完了&#xff0c;还需要搬砖的吗&#xff1f; 这个答案让我对互联网/程序员这个行业/职业有了新的认识。 房地产是在现实世界里盖房子&#xff0c;互联网是在虚拟世界里盖房子&#xff0c;只不过互联网…

第78天:WAF攻防-菜刀冰蝎哥斯拉流量通讯特征绕过检测反制感知

目录 案例一&#xff1a; 菜刀-流量&绕过&特征&检测 菜刀的流量特征 案例二&#xff1a;冰蝎-流量&绕过&特征&检测 冰蝎使用教程 冰蝎的流量特征 案例三&#xff1a; 哥斯拉-流量&绕过&特征&检测 哥斯拉使用教程 哥斯拉的流量特征…

调用第三方接口——支付宝付款

沙箱环境是支付宝开放平台为开发者提供的用于接口开发及主要功能联调的模拟环境。 参考 登录 - 支付宝 在沙箱环境下&#xff0c;已经分配好了用于模拟测试的应用信息、商家信息、买家信息等 小程序文档 - 支付宝文档中心 内网穿透&#xff08;支付宝付款需要在公网进行检查…

PyTorch深度学习框架:从入门到实战

前言 学习 PyTorch 深度学习框架之前先学会深度学习和卷积神经网络 CNN &#xff0c;这样学习起来会更香嗷。 Windows系统下PyTorch的环境配置 Anaconda是什么&#xff1a; Anaconda是一个开源的Python发行版本&#xff0c;专注于数据分析领域。它包含了conda、Python等190多…

为什么感觉没有效果

以前在辅导小儿作业的时候&#xff0c;我会在常用的搜索引擎里去寻找答案&#xff0c;一般情况下都能解决问题。 但是最近一段时间&#xff0c;我发现&#xff0c;搜索引擎搜出来的结果还没有利用短视频搜出来的答案更全面&#xff0c;短视频软件不仅可以显示AI整理出来的答案…

CTF(Web)中关于执行读取文件命令的相关知识与绕过技巧

在我遇到的题目中&#xff0c;想要读取文件必然是要执行cat /flag这个命令&#xff0c;但是题目当然不会这么轻松。让你直接cat出来&#xff0c;必然会有各种各样的滤过条件&#xff0c;你要做的就是尝试各种方法在cat /flag的基础上进行各种操作构建出最终的payload。 下面我…

【LeetCode 121】买卖股票的最佳时机

思路 思路&#xff1a; 所谓代码的复杂性来源于业务的复杂性&#xff0c;如果能够想清楚业务实现逻辑&#xff0c;就能够轻松写出代码&#xff1b; 假设当前是第i天&#xff0c;如何在第i天赚到最多的钱&#xff1f;需要在第i天之前以最低价买入股票&#xff1b; 所以需要求…

Python实现2048游戏

提供学习或者毕业设计使用,功能基本都有,不能和市场上正式游戏相提比论,请理性对待! 在这篇博客中,我们将使用 Python 和 Pygame 库来编写经典的 2048 游戏。2048 是一个益智类游戏,通过在 4x4 网格上滑动方块并合并它们来创建一个新的数字,直到获得数字 2048 或者无法继…