Weekly 4

Algorithm

1.Longest Substring Without Repeating Characters

  • What 找出字符串中最长不重复字串的长度

  • How 用MAP来装字符和对应的下标,每次判断MAP中是否有当前的字符,没有就加进去,长度加一,有的话就找出重复字符的位置,以重复字符的下一个为起点重新计算,删去重复字符及之前的元素,最后输出最大长度。

  • Key Codes
class Solution {
    public int lengthOfLongestSubstring(String s) {
        Map<Character,Integer> map = new HashMap<Character,Integer>();
        int start=0,len=0,Max=0,index=0,i,j;
        for(i=0;i<s.length();i++){
            if(!map.containsKey(s.charAt(i))){
                len++;
                if(len>Max){
                    Max = len;
                }
                map.put(s.charAt(i),i);
            }else{
                index = map.get(s.charAt(i));
                for(j=start;j<=index;j++){
                    map.remove(s.charAt(j));
                }
                map.put(s.charAt(i),i);
                start = index+1;
                len = i-index;
            }
        }
        return Max;
    }
}

Review

Revealing Digital Behaviors #1: Multiclick

  • What 快速地多次点击

  • How 用户快速、多次点击一个按钮的时候,你的网站/app可能就有问题了,这时候最好要有警报,通知你某个(某些)用户正在绝望地多次点击某个按钮,这样你才能及时得到反馈、及时修复。

Tip

  • What PMD代码走查配置

  • How 下好PMD插件后在Other Settings里配置规则,然后再Key Map里配置快捷键,这样走查是就快捷键回车回车就行了。

    Share

Java GC 介绍

猜你喜欢

转载自www.cnblogs.com/cmh1111/p/10186636.html