zoukankan      html  css  js  c++  java
  • leetcode3:不重复的最长子串长度

    package hashmap;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class hashmap {
    
     public static void main(String[] args) {
      String s="dvdf";
            if(s==null||s.length()==0){
                System.out.println("null");
            }
            int result=1;
            Map<Character,Integer> charIndexMap= new HashMap<>();
            int[] length = new int[s.length()];
            int lastDuplicate = 0;
            length[0]=1;
            charIndexMap.put(s.charAt(0),0);
         
            for(int i=1;i<s.length();i++){
                Character ch = s.charAt(i);
                if(charIndexMap.containsKey(ch)){
                    length[i]=i-Math.max(charIndexMap.get(s.charAt(i)),lastDuplicate);
                    lastDuplicate = Math.max(lastDuplicate, charIndexMap.get(s.charAt(i)));
                }
                else{
                    length[i]=length[i-1]+1;
                }
                charIndexMap.put(ch,i);
                result = Math.max(result,length[i]);
            }
           System.out.println(result);
    
    
     }
    
    }
    
    ------------------------------------------------------------------------------------------------------------------------------本娃的学习日记@lily园
  • 相关阅读:
    时间计算
    DateTime
    C# trim split dataGrid
    something
    生活
    如何导入外部的源码到eclipse中
    java类中获取ServletContext的方法
    获取spring容器上下文(webApplicationContext)的几种方法
    java反射(转)
    mysql常见命令
  • 原文地址:https://www.cnblogs.com/yanglicyfsdm/p/4710362.html
Copyright © 2011-2022 走看看