Algorithm
What 找出字符串中最长不重复字串的长度
How 用MAP来装字符和对应的下标,每次判断MAP中是否有当前的字符,没有就加进去,长度加一,有的话就找出重复字符的位置,以重复字符的下一个为起点重新计算,删去重复字符及之前的元素,最后输出最大长度。
- Key Codes
class Solution { public int lengthOfLongestSubstring(String s) { Mapmap = new HashMap (); int start=0,len=0,Max=0,index=0,i,j; for(i=0;i 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
What 快速地多次点击
How 用户快速、多次点击一个按钮的时候,你的网站/app可能就有问题了,这时候最好要有警报,通知你某个(某些)用户正在绝望地多次点击某个按钮,这样你才能及时得到反馈、及时修复。
Tip
What PMD代码走查配置
How 下好PMD插件后在Other Settings里配置规则,然后再Key Map里配置快捷键,这样走查是就快捷键回车回车就行了。
Share