左耳听风ARTS第十四周

Algorithms

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.  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

Solution 1——leetcode上的思路:通过set保存J中的char值,然后遍历S,通过set.contains()判断值是否存在,时间复杂度O(m+N),空间复杂度O(1)

class Solution {
    public int numJewelsInStones(String J, String S) {
        int sum = 0;
        Set set = new HashSet<>();
        for (char c : J.toCharArray()) {
            set.add(c);
        }
        for (char c : S.toCharArray()) {
            if (set.contains(c)) {
                sum++;
            }
        }
        return sum;
    }
}

Review

How To Become a Better Programmer by Not Programming
1、感兴趣的东西越多,你的工作做的越好。
2、培养对与编程相关的所有东西的热情。如:市场、顾客、同事关系。

Tips

网络基础知识协议:CDN

1、CDN的分发系统架构
在这里插入图片描述
2、客户端寻找边缘节点的流程图
在这里插入图片描述
3、CDN缓存包括静态资源(流媒体协议)和动态资源。
静态资源可以采用拉取和主动推送的模式。对于流媒体协议可以采取主动推送的方式,减少回源对服务器的影响。
动态资源可以采用边缘计算的模式和路径优化的模式。边缘计算的模式就是数据的逻辑计算和存储都是放在边缘的节点上,其中定时从源数据那里同步存储的数据,然后在边缘进行计算得到结果。路径优化的模式指数据不是在边缘计算生成的,而是在源站生成的,但是数据的下发可以通过CDN的网络,对路径进行优化。

Share

设计模式之适配器模式

猜你喜欢

转载自blog.csdn.net/wuweiwoshishei/article/details/88210545