zoukankan      html  css  js  c++  java
  • 03.无重复字符的最长字串

    题目:

    我的解答:

     1 class Solution {
     2     public int lengthOfLongestSubstring(String s) {
     3         char[] ch = s.toCharArray();
     4         int result = 0;
     5         int i,j,k;
     6         for(i=0;i<ch.length;i++){
     7             for(j=i+1;j<ch.length;j++){
     8                 for(k=i;k<j;k++){
     9                     if(ch[k]==ch[j]){
    10                     break;
    11                     } 
    12                 }
    13                if(k!=j) break;  
    14             }
    15             if(result<j-i){
    16                 result =j-i;   
    17             } 
    18         }
    19         return result;
    20     }
    21 }

    缺点:耗时长 112ms、多层嵌套循环

    改进01:

    class Solution {
        public int lengthOfLongestSubstring(String s) {
            int maxLength = 0;
            char[] chars = s.toCharArray();
            int leftIndex = 0;
          
            for(int i=0;i<chars.length;i++){
                for(int innerIndex= leftIndex;innerIndex<i;innerIndex++){
                  if(chars[innerIndex]== chars[i]){
                      maxLength = Math.max(maxLength,i-leftIndex);
                      leftIndex = innerIndex + 1;
                      break;
                  } 
                }
            }
            return Math.max(chars.length - leftIndex,maxLength);
        }
    }

    借鉴别人的代码:耗时 7ms 

    改进02:

    class Solution {
        public int lengthOfLongestSubstring(String s) {
            if(s.equals("")||s.equals(null)){
                return 0;
            }
            char[] ch = s.toCharArray();
            int baseIndex = 0;
            int maxLength = 0;
            int i;
            for(i=baseIndex+1;i<ch.length;i++){
                for(int j=baseIndex;j<i;j++){
                    if(ch[i]==ch[j]){
                        maxLength = (i-baseIndex)>maxLength?(i-baseIndex):maxLength;
                        baseIndex = j+1;
                        break;
                    }
                }
            }
             return (i-baseIndex)>maxLength?(i-baseIndex):maxLength;    
        }
    }
  • 相关阅读:
    堆中的路径
    二叉搜索树的操作集
    windows 利用凭据进行远程连接
    解决通过域名访问不了
    Linux 安装redis
    mybatis之resultType
    nuxt 引入swiper插件报错 Cannot resolve swiper/dist/css/swiper.css
    windows 设置连接linux redis
    linux 安装redis报gcc错误
    maven打包好的jar安装到本地库
  • 原文地址:https://www.cnblogs.com/baizhuang/p/11410855.html
Copyright © 2011-2022 走看看