这是悦乐书的第313次更新,第334篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771)。字符串J代表珠宝,S代表你拥有的石头。S中的每个字符都是你拥有的一种石头。计算S中有多少石头也是珠宝。J中的字符不会重复出现,J和S中的所有字符都是英文字母。字母区分大小写,因此“a”被认为是与“A”不同类型的石头。例如:

输入:J =“aA”,S =“aAAbbbb”

输出:3

输入:J =“z”,S =“ZZ”

输出:0

注意

  • S和J将由字母组成,长度最多为50。

  • J中的字符不会重复出现。

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

题目的意思是计算出J中的每个字符,在S中出现的次数之和。因为J中的字符不会有重复值,所以可以直接计算,不用担心计算失真。因为是英文字母,所以可以直接使用整型数组,以S中每个字符代表的ASCII值来作为索引,出现次数为值,然后遍历该数组,再以J的每个字符作为索引,累加对应的元素值即可。

public int numJewelsInStones(String J, String S) {int[] arr = new int[128];for (char ch : S.toCharArray()) {arr[ch]++;    }int count = 0;for (char ch : J.toCharArray()) {count += arr[ch];        }return count;
}

03 第二种解法

也可以只使用一个循环来解决,借助字符串的indexOf方法,每次获取S中的一个字符,来判断是否存在于J中,存在就次数加1。

public int numJewelsInStones(String J, String S) {int count = 0;for (int i=0; i<S.length(); i++) {if (J.indexOf(S.charAt(i)) > -1) {count++;}}return count;
}

04 小结

算法专题目前已日更超过五个月,算法题文章182+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

转载于:https://www.cnblogs.com/xiaochuan94/p/10748210.html

LeetCode算法题-Jewels and Stones(Java实现)相关推荐

  1. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  2. LeetCode算法题-Design LinkedList(Java实现)

    这是悦乐书的第300次更新,第319篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第168题(顺位题号是707).设计链表的实现.您可以选择使用单链表或双链表.单链表中的 ...

  3. LeetCode算法题-Number Complement(Java实现-五种解法)

    这是悦乐书的第240次更新,第253篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第107题(顺位题号是476).给定正整数,输出其补码数.补充策略是翻转其二进制表示的位 ...

  4. LeetCode算法题-Detect Capital(Java实现)

    这是悦乐书的第251次更新,第264篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第118题(顺位题号是520).给定一个单词,你需要判断其中大写字母的使用是否正确.当下 ...

  5. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  6. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  7. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)

    这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...

  8. LeetCode算法题-Valid Palindrome II(Java实现)

    这是悦乐书的第287次更新,第304篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第155题(顺位题号是680).给定非空字符串s,最多可以删除一个字符. 判断它是否是回 ...

  9. LeetCode算法题-K-diff Pairs in an Array(Java实现)

    这是悦乐书的第254次更新,第267篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第121题(顺位题号是532).给定一个整数数组和一个整数k,您需要找到数组中唯一的k- ...

最新文章

  1. php_yaf 安装
  2. xpath提取html属性,xpath提取 html标签的文字内容
  3. Haskell语言实现求解一个整数所有因子的代码及运行结果
  4. javax.jdo.option.ConnectionURL配置的问题
  5. python离群点检测方法分几类_数据分析 第五篇:离群点检测
  6. MySQL源码编译与初始化
  7. 【SpringClould】SpringClould eureka 单机 案例实验
  8. 学习有五个层次和境界
  9. 公务员计算机基础知识笔记,公务员计算机基础知识【精选】.doc
  10. OpenCL编程入门
  11. HTML特殊字符符号大全
  12. 河南师范大学python+学习笔记6 组合数据类型
  13. C++之(public/protect/private)及fiend
  14. 水的黏度 Viscosity of Water
  15. Android 打开手机淘宝,并自动识别淘口令,弹出商品信息
  16. android fm信号强度,FM 收音机灵敏度测试方法
  17. ubuntu 安装MPI
  18. 【2023-03-07】携程春招笔试四道编程题
  19. Win10怎么解除被停用的用户?
  20. 在easydl平台上传已经标注好的数据,怎么按照要求进行json和图片格式配置。是用labellmg图片标注工具生成的xml文件。

热门文章

  1. 从零开始学android编程_小白也能学得会!谷歌推出免费的Kotlin和Android开发课程...
  2. python跨目录调用_python 跨目录访问文件
  3. 中等职业计算机等级考试,中等职业学校计算机等级考试题库(含答案):EXCEL
  4. python流式下载处理_流式下载 - 对象存储 OSS - 阿里云
  5. 阜阳市乡镇企业中专学校计算机教师高翱简介,2017年中南林业科技大学博士研究生奖助学金...
  6. Unity中date相关问题
  7. 【theano-windows】学习笔记十二——卷积神经网络
  8. webpack4进阶配置
  9. [Vijos 1143]三取方格数
  10. ITFriend创业败局(四):菜鸟CEO的自我修养