当前位置: 首页 > news >正文

500. 键盘行 771. 宝石与石头 简单 find接口的使用

500. 键盘行1

给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。

请注意,字符串 不区分大小写,相同字母的大小写形式都被视为在同一行

美式键盘 中:

  • 第一行由字符 "qwertyuiop" 组成。
  • 第二行由字符 "asdfghjkl" 组成。
  • 第三行由字符 "zxcvbnm" 组成。

American keyboard

示例 1:

输入:words = ["Hello","Alaska","Dad","Peace"]

输出:["Alaska","Dad"]

解释:

由于不区分大小写,"a" 和 "A" 都在美式键盘的第二行。

示例 2:

输入:words = ["omk"]

输出:[]

示例 3:

输入:words = ["adsdf","sfd"]

输出:["adsdf","sfd"]

 find接口

static const size_t npos = -1;
class Solution {
public:
    int _findnmu(char ch)
    {
        if(ch >= 'A' && ch <= 'Z')
            ch += 32;
        string s1 = "qwertyuiop";
        string s2 = "asdfghjkl";
        string s3 = "zxcvbnm";
        if(s1.find(ch) != -1)
            return 1;
        else if(s2.find(ch) != -1)
            return 2;
        else
            return 3;
        return 0;
    }
    vector<string> findWords(vector<string>& words) {
        vector<string> res;
        for(int i = 0; i < words.size(); i++)
        {
            int flag = 1;
            int num = _findnmu(words[i][0]);
            for(int j = 1; j < words[i].size(); j++)
            {
                int word = _findnmu(words[i][j]);
                if(word != num)
                {
                    flag = 0;// 发现有非同行元素出现
                    break;
                }
            }
            if(flag)
                res.push_back(words[i]);
        }
        return res;
    }
};

 

771. 宝石与石头

给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

字母区分大小写,因此 "a""A" 是不同类型的石头。

示例 1:

输入:jewels = "aA", stones = "aAAbbbb"
输出:3

示例 2:

输入:jewels = "z", stones = "ZZ"
输出:0

提示:

  • 1 <= jewels.length, stones.length <= 50
  • jewelsstones 仅由英文字母组成
  • jewels 中的所有字符都是 唯一的
class Solution {
public:
    int numJewelsInStones(string jewels, string stones) {
        int res = 0;
        for(auto &e : stones)
        {
            if(jewels.find(e) != -1)
                res++;
        }
        return res;
    }
};

相关文章:

  • (萌新入门)如何从起步阶段开始学习STM32 —— 1如何迁移一个开发版的工程
  • 深入解析 vLLM:高性能 LLM 服务框架的架构之美(二)调度管理
  • 【JAVA工程师从0开始学AI】,第二步:从强类型到动态语言:Java工程师的Python语法避坑指南
  • Golang实现简单粗暴的接口去重函数
  • 管理WSL实例 以及安装 Ubuntu 作为 WSL 子系统 流程
  • Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
  • 现代多核 CPU 的变化
  • TreeSet(单列集合)
  • Spring Boot(七):Swagger 接口文档
  • 【信息学奥赛一本通 C++题解】1286:怪盗基德的滑翔翼
  • 无人机遥感技术:从植被监测到生理参数反演的进阶之路
  • springboot+mybatis按条件分页查询多张表
  • PHP语法完全入门指南:从零开始掌握动态网页
  • 代码随想录 第一章 数组 209.长度最小的子数组
  • Postgresql的三种备份方式_postgresql备份
  • 如何在在 CentOS 中安装 OLama
  • 企业实战 - 深入解析Python爬虫中的JS逆向技术
  • 【机器学习】线性回归 多项式线性回归
  • web信息泄露 ctfshow-web入门web1-web10
  • mysql 学习15 SQL优化,插入数据优化,主键优化,order by优化,group by 优化,limit 优化,count 优化,update 优化
  • 改造老旧小区、建立“一张图”,五部委将多举措支持城市更新
  • 经济日报评论员:拧紧“带头过紧日子”的制度螺栓
  • 中国首次当选联合国教科文组织1970年《公约》缔约国大会主席国
  • 世卫大会再次拒绝涉台提案,国台办:民进党当局再遭挫败理所当然
  • 马上评|劳动课该如何找回“存在感”
  • 瑞幸首度牵手成都国际非遗节,用一杯饮品将非遗之美推向全国