菜鸟写leetcode03

来源:互联网 发布:软件系统架构类型 编辑:程序博客网 时间:2024/06/10 01:24
暂时就想到一个暴力算法,运气好也通过了。
public class Solution {    public int lengthOfLongestSubstring(String s) {    if(s==null||s.length()==0)    return 0;    int n=s.length();int max=1;    loop:for(int i=0;i<n-1;i++){        int count=1;        for(int j=i+1;j<n;j++)         {           for(int idx=j-1;idx>=i;idx--){               if(s.charAt(j)==s.charAt(idx))               continue loop;           }           count++;           if(max<count)           max=count;         }    }    return max;    }}
看到一些用HASHMAP以
及贪心算法的大神做的贴在下面供自己参考学习
public int lengthOfLongestSubstring(String s) {        if (s.length()==0) return 0;        HashMap<Character, Integer> map = new HashMap<Character, Integer>();        int max=0;        for (int i=0, j=0; i<s.length(); ++i){            if (map.containsKey(s.charAt(i))){                j = Math.max(j,map.get(s.charAt(i))+1);            }            map.put(s.charAt(i),i);            max = Math.max(max,i-j+1);        }        return max;    }
算法的时间复杂度是O(n)
                                             
0 0
原创粉丝点击