力扣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.mfbz.cn/a/594285.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】机器学习在教育领域的应用场景探索

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

漫谈音频深度伪造技术

作为人工智能时代的新型媒体合成技术&#xff0c;深度伪造技术近年来在网络媒体中的涉及领域越发广泛、出现频次越发频繁。据路透社报道&#xff0c;2023年&#xff0c;社交媒体网站上发布50万个深度伪造的语音和视频。 1、深度伪造技术的五个方面 音频深度伪造技术&#xff…

Spring拦截器

一、简介&#xff1a; Spring Boot 拦截器是面向切面编程-----AOP 的具体实现&#xff0c;用于对请求做预处理。 1.1.什么是拦截器&#xff1a;在AOP&#xff08;Aspect-Oriented Programming&#xff09;中用于在某个方法或字段被访问之前&#xff0c;进行拦截然后在之前或之…

华为二层交换机与路由器连通上网实验

华为二层交换机与路由器连通上网实验 二层交换机是一种网络设备&#xff0c;用于在局域网&#xff08;LAN&#xff09;中转发数据帧。它工作在OSI模型的第二层&#xff0c;即数据链路层。二层交换机通过学习和维护MAC地址表&#xff0c;实现了数据的快速转发和广播域的隔离。 实…

读天才与算法:人脑与AI的数学思维笔记19_深度数学

1. 深度数学 1.1. 组合与选择&#xff0c;是发明新事物的两个不可或缺的条件 1.1.1. 保尔瓦雷里&#xff08;Paul Valry&#xff09; 1.2. 利用以往的数学定理证明过程训练算法&#xff0c;以发现新的定理 1.3. 谷歌设在伦敦的总部整体有一种现代牛津大学的感觉&#xff0c…

17_Scala面向对象高阶功能

文章目录 1.继承1.1 构造对象时,父类对象优于子类对象1.2父类主构造有参数,子类必须要显示地调用父类主构造器并传值 2.封装3.抽象3.1抽象定义3.2子类继承抽象类3.3抽象属性 4.伴生对象4.1创建类和伴生对象4.2调用 1.继承 –和Java一样,权限protected , public.父类定义子类用…

【Java】基本程序设计结构(二)

前言&#xff1a;上一篇我们详细介绍了Java基本程序设计结构中前半部分&#xff0c;一个简单的Java应用&#xff0c;注释&#xff0c;数据类型&#xff0c;变量与常量&#xff0c;运算符&#xff0c;字符串。包括本篇将延续上篇内容介绍后续内容&#xff0c;包括输入输出&#…

UE5 UMG

锚点 参考链接&#xff1a;虚幻5UI系统&#xff08;UMG&#xff09;基础&#xff08;已完结&#xff09;_哔哩哔哩_bilibili

政安晨:【Keras机器学习示例演绎】(三十七)—— 在计算机视觉中学习调整大小

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文目标&#xff1a;在计算机视觉中学习调整大小…

数据结构(十一)----图的应用

目录 一.最小生成树 1.Prim算法&#xff08;普里姆&#xff09; 2.Kruskal算法(克鲁斯卡尔): 二.最短路径&#xff08;BFS算法&#xff09; 1.单源最短路径 &#xff08;1&#xff09;BFS算法&#xff08;无权图&#xff09; &#xff08;2&#xff09;Dijkstra算法&…

QT+网络调试助手+TCP客户端

一、网络调试助手UI界面 编程主要思路&#xff1a; 首先将水平的控件 水平布局 &#xff0c;然后相对垂直的控件 垂直布局 &#xff0c;哪怕是底下的groupBox也需要和里面的内容 水平布局&#xff0c;然后最后框选全部 栅格布局。如果需要界面自适应窗口大小&#xff0c…

JavaScript js写九九乘法表(两种方法)

方法一&#xff1a; 观察规律&#xff1a; 第一个数每行都是自增1。 我们发下第二个数都是从1开始&#xff0c;依次递增1&#xff0c;永远不大于前面的数。 前面数字每自增一次&#xff0c;后面数字自增一轮。 我们可以用双重for循环&#xff0c;外层初始值设为i&#xff0…

【C++】对文章分词,并对词频用不同排序方法排序,比较各排序算法效率

文章分词 1&#xff0e;问题描述2&#xff0e;需求分析3&#xff0e;概要设计3.1 主程序流程3.2 函数调用关系 4&#xff0e;主函数实现4.1 main.h4.2 main.cpp 5. 函数实现5.1 processDic函数5.2 forwardMax函数5.3 countWordFreq函数5.4 quickResult函数5.5 其它排序算法效率…

【链表】:链表的带环问题

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;数据结构 &#x1f337;追光的人&#xff0c;终会万丈光芒 前言&#xff1a; 链表的带环问题在链表中是一类比较难的问题&#xff0c;它对我们的思维有一个比较高的要求&#xff0c;但是这一类…

十二、泛型

这里写自定义目录标题 一、什么是泛型二、为什么需要泛型&#xff1f;三、自定义泛型结构1、泛型类2、泛型方法 四、泛型在继承上的体现五、通配符的使用1、注意点2、有限制的通配符 一、什么是泛型 泛型就是定义类、接口时通过一个标识表示类中某个属性的类型 、方法的返回值…

C#实现简单音乐文件解析播放——Windows程序设计作业2

1. 作业内容 编写一个C#程序&#xff0c;要求实现常见音乐文件的播放功能&#xff0c;具体要求如下&#xff1a;     1). 播放MP3文件&#xff1a; 程序应能够读取MP3文件&#xff0c;并播放其中的音频。     2). 播放OGG文件&#xff1a; 应能够播放ogg文件。     …

学习3:scrapy请求对象、模拟登录、POST请求、管道的使用、crawlspider爬虫类

请求对象 请求对象参数 scrapy.Request(url[],callback,method"GET",headers,body,cookies,meta,dont_filterFalse)callback 表示当前的url响应交给那个函数去处理method 指定请求方式headers 接受一个字典&#xff0c;其中不包括cookiesbody 接收json字符串&#…

OpenCV的周期性噪声去除滤波器(70)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:OpenCV如何通过梯度结构张量进行各向异性图像分割(69) 下一篇 :OpenCV如何为我们的应用程序添加跟踪栏(71) 目录 目标 理论 如何消除傅里叶域中的周期性噪声&#xff1f; 源代码 解释 结果 目…

IDEA--debug

1. 单点调试的三个级别 Step into&#xff1a;在单步执行时&#xff0c;遇到子函数就进入并且继续单步执行。Step over&#xff1a;在单步执行时&#xff0c;在函数内遇到子函数时不会进入子函数内单步执行&#xff0c;而是将子函数整个执行完再停止&#xff0c;也就是把子函数…

用树莓派2B当web服务器

树莓派2&#xff0c;卡片大小&#xff0c;arm 32位cpu&#xff0c;512G内存。我找了一下购买记录&#xff0c;2013年12月15日买的。带网线接头。属于树莓派2B。以前下载的操作系统还在。是2014年的操作系统&#xff0c;文件名是&#xff1a;2014-09-09-wheezy-raspbian_shumeip…