Python(Java)实例学习教程:宝石与石头
题目:
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
示例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意:
S 和 J 最多含有50个字母。
J 中的字符不重复。
Python(Java)实例学习教程:宝石与石头
Note:
S and J will consist of letters and have length at most 50.
The characters in J are distinct.
解题思路:
J 改为 Set 集合, 遍历 S 即可(因为 Set 查找复杂度为常数)
Java:
class Solution {
public int numJewelsInStones(String J, String S) {
Set set = new HashSet<>();
for (char c : J.toCharArray())
set.add(c);
int count = 0;
for (char c : S.toCharArray())
if (set.contains(c)) count++;
return count;
}
}
Python:
class Solution:
def numJewelsInStones(self, J: str, S: str) -> int:
count = 0
hash_set = set(J)
for c in S:
if c in hash_set:
count += 1
return count
更多的学习教程会继续为大家更新!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python基础系列讲解——线程锁Lock的使用介绍
我们知道Python的线程是封装了底层操作系统的线程,在Linux系统中是Pthread(全称为POSIX Thread),在Windows中是Windows Thread。因此Python的线程是完全受操作系统的管理的。但是在计算密集型的任务中多线程反而比单线程更慢。 这是为什么呢? 在CPython 解释器中执行线程时,每一个线程开始执行时,都会锁住 GIL,以阻止别的线程执行。同样的,每一个线程执行完一段后,会释放 GIL,以允许别的线程开始利用资源。毕竟,如果Python线程在开始的时候锁住GIL而不去释放GIL,那别的线程就没有运行的机会了。 为什么要这么处理呢? 我们先来介绍下竞争条件(race condition)这个概念。竞争条件是指两个或者多个线程同时竞争访问的某个资源(该资源本身不能被同时访问),有可能因为时间上存在先后原因而出现问题,这种情况叫做竞争条件(Race Condition)。(Python中进程是有独立的资源分配,线程是共用资源分配) 回到CPython上,CPython是使用引用计数器来管理内存的,所有创建的对象,都会有一个引用计数来记录有多少个指针...
- 下一篇
Python中:dict(或对象)与json之间的互相转化
在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。 在Python中自带json库。通过import json导入。 在json模块有2个方法, loads():将json数据转化成dict数据 dumps():将dict数据转化成json数据 load():读取json文件数据,转成dict数据 dump():将dict数据转化成json数据后写入json文件 下面是具体的示例: dict字典转json数据 #Python学习交流QQ群:579817333 import json def dict_to_json(): dict = {} dict['name'] = 'many' dict['age'] = 10 dict['sex'] = 'male' print(dict) # 输出:{'name': 'many', 'age': 10, 'sex': 'male'} j = json.dumps(dict) print(j) # 输出:{"name": "many", "age": 10, "sex": "male"} if __name_...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程