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

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;
    }
};


http://www.kler.cn/a/551388.html

相关文章:

  • 机械学习基础-6.更多分类-数据建模与机械智能课程自留
  • 基于kafka、celery的日志收集报警项目
  • NCV4275CDT50RKG 车规级LDO线性电压调节器芯片——专为新能源汽车设计的高可靠性电源解决方案
  • 网络安全特性
  • 【CSS进阶】常见的页面自适应的方法
  • 2.17日学习总结
  • 解决 MyBatis Plus 在 PostgreSQL 中 BigDecimal 精度丢失的问题
  • 什么是 大语言模型中Kernel优化
  • 在不使用 Spring Security 的情况下获取用户登录参数
  • 基于Cilium的全栈eBPF服务网格:颠覆传统Sidecar模式的云原生通信革命
  • Windows程序设计25:MFC中常用窗口类及关系
  • Linux-ISCSI
  • spring boot和spring cloud的关系
  • blender骨骼分层问题:某一层的骨骼怎么移动到第一层
  • Oracle 12c 并发统计信息收集功能:技术解析与实践指南
  • 执行pnpm run dev报错:node:events:491 throw er; // Unhandled ‘error‘ event的解决方案
  • 深入理解大语言模型的文本数据处理流程
  • 避雷,Ubuntu通过ollama本地化部署deepseek,open-webui前端显示
  • MoE架构中的专家选择门控机制:稀疏激活如何实现百倍效率突破?
  • 2025.2.16机器学习笔记:TimeGan文献阅读