zoukankan      html  css  js  c++  java
  • 【Leetcode】771. 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.  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


    Tips:J
    为不同的字符组成的字符串,从S中找出包含J中字符的总数。
    解法一 两重for循环判断字符是否相同。19ms
    public int numJewelsInStones(String J, String S) {
            int num = 0;
            for (int i = 0; i < S.length(); i++) {
                for (int j = 0; j < J.length(); j++) {
                    if (S.charAt(i) == J.charAt(j)) {
                        num++;
                    }
                }
            }
            return num;
        }

    解法二:

    只循环S 判断J中是否包含,当前的S中的字符 39ms

    public int numJewelsInStones2(String J, String S) {
            int num = 0;
            for (int i = 0; i < S.length(); i++) {
                char c = S.charAt(i);
                if (J.indexOf(c) != -1) {
                    System.out.println(c);
                    num++;
                }
            }
            return num;
        }

     但是啊,反而是两层for循环快一些呢!


  • 相关阅读:
    019_Mac实用的图像备份工具
    016_把普通用户免秘钥加入root用户的几种方式
    027_磁盘维护命令du等
    026_lsof命令经验总结
    004_wireshark专题
    029_mount bind挂载
    023_nginx跨域问题
    mysql-5.7 group commit 详解
    二段式提交协议
    mysql-5.7 密码过期详解
  • 原文地址:https://www.cnblogs.com/yumiaomiao/p/8418678.html
Copyright © 2011-2022 走看看