zoukankan      html  css  js  c++  java
  • Leetcode#771.Jewels and Stones(宝石与石头)

    题目描述

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

    J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

    示例 1:

    输入: J = "aA", S = "aAAbbbb"
    输出: 3
    

    示例 2:

    输入: J = "z", S = "ZZ"
    输出: 0
    

    思路

    两两比较J和S中的字符,若相同则加1。

    代码实现

    package Array;
    
    import java.util.HashSet;
    import java.util.Set;
    
    /**
     * 771.Jewels and Stones(宝石与石头)
     * 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
     * J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
     */
    public class Solution771 {
        public static void main(String[] args) {
            Solution771 solution771 = new Solution771();
            String J = "z";
            String S = "ZZ";
            System.out.println(solution771.numJewelsInStones(J, S));
        }
    
        public int numJewelsInStones(String J, String S) {
            int num = 0;
            int lenJ = J.length();
            int lenS = S.length();
            for (int i = 0; i < lenJ; i++) {
                for (int j = 0; j < lenS; j++) {
                    if (S.charAt(j) == J.charAt(i)) {
                        num++;
                    }
                }
            }
            return num;
        }
    
        public int numJewelsInStones_2(String J, String S) {
            int num = 0;
            Set set = new HashSet();
            for (char c : J.toCharArray()) {
                set.add(c);
            }
            for (char s : S.toCharArray()) {
                if (set.contains(s)) {
                    num++;
                }
            }
            return num;
        }
    }
    
    
  • 相关阅读:
    Hadoop功能模块之hdfs
    Hadoop介绍
    大数据的介绍
    Hadoop之shell命令
    Flume
    C# DataTable使用方法详解
    npoi 操作excell 可以下载的链接
    node.js mqtt样例
    node.js压缩
    arcgis中打印所有变量的名称和值
  • 原文地址:https://www.cnblogs.com/wupeixuan/p/9541094.html
Copyright © 2011-2022 走看看