Weekly 4

本文详细解析了如何使用Map数据结构实现寻找字符串中最长无重复子串的算法,通过记录字符及其下标,避免重复并计算最长子串长度。同时介绍了在用户交互设计中如何处理快速多次点击的问题,并分享了PMD代码走查配置技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 介绍

转载于:https://www.cnblogs.com/cmh1111/p/10186636.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值