java C++ 实现 leetcode 第三题 3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
生活随笔
收集整理的這篇文章主要介紹了
java C++ 实现 leetcode 第三题 3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、C++實現(xiàn)
? ??
int lengthOfLongestSubstring(string s) {if (s.length() <= 1)return s.length();int res = 1, start = 0, end = 0;for (; start < s.length(); start++) {for (end = start; end < s.length(); end++) {for (int i = end - 1; i > start; i--) {if (s[end] == s[i]) {start = i;if (end - start > res)res = end - start ;}}if (s[start] == s[end] && start != end) {if (end - start > res)res = end - start;break;}else if (s[start] != s[end]){if (end - start + 1 > res)res = end - start + 1;}}}return res;}二、Java
? ??
public int lengthOfLongestSubstring(String s) {char[] ss = s.toCharArray();int n = ss.length;int ans = 0;Map<Character,Integer> map = new HashMap<>();for(int i = 0,j = 0;j < n;j++){if(map.containsKey(ss[j])){i = Math.max(map.get(ss[j]),i);}ans = Math.max(ans,j-i+1);map.put(ss[j],j+1);}return ans;}?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的java C++ 实现 leetcode 第三题 3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GRPC java实现demo
- 下一篇: java 把依赖打到一个整体jar包里运