zoukankan      html  css  js  c++  java
  • 字符串问题之 最小包含子串长度

    str1 和 str2  求str1 的子串 中含有str2 的所有字符的最小字串长度

       例如: 

     str1 ="abcde"

     str2="ac"    返回3

    本题适合用还款方法  str1 去还 str2 里面的元素

    package TT;
    
    public class Test7 {
    
        public static int minLength(String str1, String str2){
              
            if(str1 == null || str2 == null || str1.length() < str2.length()){
                return 0;
            }
            char[] chas1 =  str1.toCharArray();
            char[] chas2 =  str2.toCharArray();
            int[] map = new int[256];
            
            for(int i = 0; i!=chas2.length;i++){
                map[chas2[i]]++;
            }
            
            int left = 0;
            int right = 0;
            int match = chas2.length;
            int minLen = Integer.MAX_VALUE;
            
            while(right != chas1.length){
                
                map[chas1[right]]--;
                if(map[chas1[right]] >=0){
                     match--;
                }
                if(match==0){
                    
                    while(map[chas1[left]]<0){
                        map[chas1[left++]]++;
                    }
                    
                    minLen = Math.min(minLen, right-left+1);
                    match++;
                    map[chas1[left++]]++;
                }
                right++;
            }
            
            return minLen == Integer.MAX_VALUE ? 0 :minLen;
            
        }
        
        
        
        public static void main(String[] args){
            
             String str1 ="abcde";
             String str2 = "ac";
             int a  =  minLength(str1, str2);
             System.out.println(a);
            
            
        }
        
        
    }
  • 相关阅读:
    angular2 + bootstrap +jquery 实例
    How to create a angular2 project process
    icheck 插件
    select2 下面的搜索框 无法输入问题
    datatabels buttons
    datatables 跳转到指定页
    text-overflow:ellipse;
    box-shadow
    CSS强制性换行
    mybatis与hibernate的不同
  • 原文地址:https://www.cnblogs.com/toov5/p/7413645.html
Copyright © 2011-2022 走看看