[Leetcode] 771. Jewels and Stones

Lmcache+vllm——KVcache卸载CPU/SSD探索 目前查看了vllm、Nvidia dynamo、mooncake都没有找到将kvcache卸载到SSD的方法,幸好lmcache支持。以下进行lmcache+vllm实践,对比将kvcache分别卸载到CPU-ram和SSD上的TTFT性能差异。目前的query只是单并发,对比的效果已经比较明显了,可能多并发下对存储的要求就会更高了。 阅读详情

Description:
You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.

The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so "a" is considered a different type of stone from "A".

Example 1:

Input: J = "aA", S = "aAAbbbb"
Output: 3

Example 2:

Input: J = "z", S = "ZZ"
Output: 0

Note:
S and J will consist of letters and have length at most 50.
The characters in J are distinct.
Language: C++
解法一:(Accepted)
思路:
遍历S中的字符,分别在J中找看存不存在(用.find(x))

class Solution {
public:
    int numJewelsInStones(string J, string S) {
        int result = 0;
        for(int i = 0; i<S.size();i++)
        {
            string c = S.substr(i,1);//取S中位置i开始,长度为1的子字符串
            if(J.find(c)!=string::npos) //重要!J中存在c 
            result++;
        }
        return result;
    }
};
  • 变式:如果description中变成不是case sensitive,即"a"和"A"视为相同,应该怎么办?
  • 用到string type的成员函数:string::substr(i,3)(取位置i开始,长度为3的字符串,且代码中赋给c,c的类型只能是string,不能是char);string::find(c)在字符串里面找子串c,如果返回string::npos说明没找到。

解法二:用set (Accepted)
思路:
由于J中的字母都是distinct的,想到用set容器,把J中的字母都存在Jset中,然后遍历字符串S中每一个字符,如果在Jset中找到,则result++,最后返回。

class Solution {
public:
    int numJewelsInStones(string J, string S) {
        int result = 0;
        set<char> Jset(J.begin(),J.end());
        for(char s:S)
            if(Jset.count(s))
                result++;
        return result;
    }
};
  • C++ for循环方法:
  • 传统方法for(int i; i < n; i++){}
  • 基于范围的for循环(C++11)

    //遍历数组
    int array[5] = {1,2,3,4,5};
    for(int &x : array)//定义范围迭代的变量x,以及迭代范围array,如果要对范围内变量进行改动,则要定义引用,如此处
      x++;//每个数组元素+1
    for(auto &x : array)
      x*=2;//auto 类型也是 C++11 新标准中的,用来自动获取变量的类型
    
    //遍历字符串
    string str("Hello Peggy!");
    for(auto &c : str)
      c = toupper(c);//将字符串所有字符变为大写"HELLO PEGGY!"
    
  • vector, set, map的区别
    Map,Set属于标准关联容器,使用了非常高效的平衡检索二叉树:红黑树,他的插入删除效率比其他序列容器高是因为不需要做内存拷贝和内存移动,而直接替换指向节点的指针即可。
    Set和Vector的区别在于Set不包含重复的数据。Set和Map的区别在于Set只含有Key,而Map有一个Key和Key所对应的Value两个元素。
    Map和Hash_Map的区别是Hash_Map使用了Hash算法来加快查找过程,但是需要更多的内存来存放这些Hash桶元素,因此可以算得上是采用空间来换取时间策略。

  • set, hash_set, map, hash_map的区别
    hash_set重点在于set几个字母上,主要实现集合功能,只不过底层函数由hashtable提供,而set是由红黑树作底层,两者的唯一区别就是set默认是排好序的,而hashset不是。
    hashmap重点在于map几个字母上,主要提供对象间的一一映射功能,hashmap底层由hashtable提供,而map底层由红黑树提供,区别同上。
Happy Coding!
飞腾UEFI配置GPIO—飞腾FT2000/4 (D2000/8) GPIO引脚配置及使用 讲解了在飞腾UEFI代码中如何添加GPIO配置相关代码,并以GPIO1_B0—B7为例,将这8个引脚配置为GPIO工作模式并默认输出低电平 阅读详情

相关推荐

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 528

LeetCode之771:Jewels and Stones

1. 解法1 (遍历比较,时间复杂度O(J*S),空间复杂度O(1)) 1.1 C#代码 public class Solution { public int NumJewelsInStones(string J, string S) { int Jlen = J.Length; int Sle...

如切如磋,如琢如磨 468

ARM CoreSight架构

CoreSight架构是现代复杂SoC的“飞行数据记录仪”(黑匣子)和“精密诊断仪”的结合体。它彻底改变了嵌入式系统的调试方式,从传统的“盲人摸象”变成了拥有“上帝视角”,是ARM生态系统能够支撑起从微控制器到高性能服务器芯片如此广泛产品线的重要基石技术之一。

guigenyi的专栏 1421

771. Jewels and Stones

Description: You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know h...

Just The Way You Are 418

材料力学小白必看:纯弯曲正应力计算全解析(附实例演示)

本文详细解析了材料力学中纯弯曲正应力的计算原理与工程应用,通过实例演示帮助初学者掌握关键公式和计算流程。内容涵盖纯弯曲的基本假设、正应力分布规律、截面特性计算,以及现代工具如Excel、ANSYS和Python在应力分析中的应用,特别适合材料力学小白系统学习。

sea99的博客 1232

在Jetson orin板卡上部署ocr模型遇到错误

摘要:安装ONNX Runtime GPU版本时遇到问题,直接pip install onnxruntime-gpu会报错。解决方案是从test.pypi.org下载对应的.whl文件(如ort_nightly-1.14.0...aarch64.whl),本地安装后还需降级NumPy版本(如pip install numpy==1.26),以解决NumPy版本兼容性问题。整个过程涉及三个关键步骤:下载正确架构的wheel文件、本地安装、调整NumPy版本。

xdxd3c的博客 1526

基于AWS CloudTrail日志的云服务事件声化系统设计与实现

在云原生架构中,日志监控是保障系统安全与稳定的关键技术。传统基于文本的日志分析面临信息过载的挑战,难以实时感知异常。通过将结构化日志数据转化为可感知的音频信号,能够利用人类听觉通道实现高效的边缘注意力监控。其技术原理在于构建事件驱动管道,对日志流进行实时过滤、优先级分级与模式识别,并基于声学参数映射生成对应音景。这种数据声化技术为运维可视化提供了创新思路,尤其在实时态势感知和异常直觉发现场景中价值显著。本文以AWS CloudTrail日志为例,结合AI协同设计,详细阐述了如何将云服务API调用事件转化为包

weixin_30628801的博客 666

【Camera2教程一】Camera2的框架Pipeline和framework中核心类和接口的详细介绍

Camera2 的 API 模型被设计成一个 Pipeline(管道),它按顺序处理每一帧的请求并返回请求结果给客户端。

jiangchaobing_2017的博客 791

算法题-leetcode-771 Jewels and Stones

771:Jewels and Stones宝石问题题目:You're given strings J representing the types of stones that are jewels, and S representing the stones you have.  Each character in Sis a type of stone you have.  You want ...

sinat_22344233的博客 504

【网络与爬虫 49】突破WAF防线:Web应用防火墙绕过实战攻略

本文深入探讨Web应用防火墙(WAF)的工作原理与绕过技术,从基础的编码变换到高级的协议层攻击,通过实战案例和代码演示,帮助安全研究者和渗透测试人员理解现代WAF防护机制并掌握合规的绕过方法。内容涵盖SQL注入、XSS、文件上传等攻击向量的WAF绕过技术,适合网络安全从业者和爬虫开发者学习参考。

熵数实验室 1845

Android 13 内置xapk安装包的方法

安装xapk 内置xapk

安卓兼职framework和app工程师的博客 223

[Leetcode从零开刷]771. Jewels and Stones

Jewels and Stones leetcode 题目 You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. ...

legalhighhigh的博客 3653

Unity零基础到进阶 ☀️| Unity中的 GC及优化 超级全面解析 ☆(ゝω・)v 建议收藏!

介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。 Unity中将垃圾回收当作内存管理的一部分,如果游戏中废弃数据占用内存较大,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。 本文我们主要学习垃圾回收的机制,垃圾回收如何被触发以及如何提GC收效率来提高游戏的性能。 Unity内存管理机制简介 要想了解垃圾回收如何工作以及何时被

努力前行,总会成为自己心中的那道光 6万+

LeetCode刷题:771. Jewels and Stones

LeetCode刷题:771. Jewels and Stones 原题链接:https://leetcode.com/problems/jewels-and-stones/ You're given stringsJrepresenting the types of stones that are jewels, andSrepresenting the stones you hav...

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。 626

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Leetcode PHP题解--D1 771. Jewels and Stones

771. Jewels and Stones 由于是按难易度排序的,因此本题是第一题。 题目链接 771. Jewels and Stones 题目分析 从第二个参数S中找第一个参数J 中出现的字符,返回找到的字符个数。 也就是说,第一个参数J是一个需要找的字符的列表。只是拼接成字符串了。 而第二个参数S是被查找的字符串。 简单地说就是要在S里找J。 先把问题简化为J中只有一个字符的情形,因为字符...

weixin_33972649的博客 444

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Leetcode_easy】771. Jewels and Stones

problem 771.Jewels and Stones solution1: class Solution { public: int numJewelsInStones(string J, string S) { int res = 0; unordered_set<char> js(J.begin(), J.end()...

weixin_30340617的博客 433

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Leetcode学习笔记:#771 Jewels and Stones

Leetcode学习笔记:#771 Jewels and Stones You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. ...

ccystewart的博客 518

python实现 leetcode 771 jewels and stones

说来惭愧,别人几年前干的事情,拖到今天自己才开始自己的leetcode之路。但是开始就好吧!题目描述不再摘抄。AC率最高的一题,一个寒假都没编程的我开始竟然有些懵,参考了discuss里大神lee215的方法得到结果:class solution: def numofJewels(self,J,S): setJ=set(J) return sum(s in setJ for s in S...

大胖子球花的博客 2503

leetcode-771. Jewels and Stones

771. Jewels and Stonesclass Solution: def numJewelsInStones(self, J, S): """ :type J: str :type S: str :rtype: int """ self.J = J self.S = S...

云梦泽 625

LeetCode //C - 771. Jewels and Stones

This problem counts how many stones are also jewels given two strings. The solution uses a lookup table (boolean array) to mark jewel characters for O(1) checks. It iterates through stones, counting matches with jewels. The approach efficiently handles cas

Made in Code 1166

(java)leetcode771 宝石与石头(Jewels and Stones)

题目描述: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 示例1 : Input: J = "aA", S = "aAAbbbb" Output: 3 示例2: Input:...

XTAOTWO的博客 582

Leetcode 771. Jewels and Stones

Question You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many o...

兔子窝 239

LeetCode - 771. Jewels and Stones

在LeetCode的算法世界里,771题"Jewels and Stones"以其简洁的题目描述和多样的解法吸引着众多学习者。本题要求我们统计字符串stones中有多少字符同时出现在字符串jewels中,看似简单的问题背后却蕴含着不同的解题思路和性能优化技巧。

Amon的专栏 589

LeetCode 771. Jewels and Stones

LeetCode 771. Jewels and Stones (Easy) 主要知识点:string;优先级:0

温迪今天刷题了吗 485

【LeetCode题解---771】Jewels and Stones.md

【LeetCode题解—771】Jewels and Stones 题目 You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have....

程序猿杂货铺 350

LeetCode771:Jewels and Stones

You're given strings J representing the types of stones that are jewels, and S representing the stones you have.  Each character in S is a type of stone you have.  You want to know how many of the sto...

卷卷萌的博客 327
上一篇: [Leetcode] 561. Array Partition I
下一篇: 算法笔记-快速排序(Quick Sort)
Peggy_Chang
博客等级 码龄11年 21粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值