Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 3a62129

Browse files
longest substring without repeating characters
1 parent 6ece861 commit 3a62129

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package medium;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
public class LongestSubstringWithoutRepeatingCharacters {
7+
8+
public static int lengthOfLongestSubstring(String s) {
9+
int result = 0;
10+
Map<Character, Integer> map = new HashMap();
11+
for (int i = 0, j = i; j < s.length(); ){
12+
if (!map.containsKey(s.charAt(j)) || (map.containsKey(s.charAt(j)) && map.get(s.charAt(j)) == 0)){
13+
map.put(s.charAt(j), 1);
14+
result = Math.max(j-i+1, result);
15+
j++;
16+
} else {
17+
map.put(s.charAt(i), map.get(s.charAt(i)) - 1);
18+
i++;
19+
}
20+
}
21+
return result;
22+
}
23+
24+
public static void main(String...args){
25+
// String s = "abcabcbb";
26+
String s = "pwwkew";
27+
System.out.println(lengthOfLongestSubstring(s));
28+
}
29+
}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
|8|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)|[Solution](../../blob/master/EASY/src/easy/StringToInteger.java)| O(n) | O(1) | Easy
129129
|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)|[Solution](../../blob/master/EASY/src/easy/ReverseInteger.java) | O(1) | O(1) | Easy |
130130
|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)|[Solution](../../blob/master/EASY/src/easy/ZigZagConversion.java) | O(n) | O(n) | Easy |
131+
|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)|[Solution](../../blob/master/MEDIUM/src/medium/LongestSubstringWithoutRepeatingCharacters.java) | O(n) | O(1) | Medium | HashMap, Sliding Window
131132
|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)|[Solution](../../blob/master/MEDIUM/src/medium/AddTwoNumbers.java) | O(n) | O(1) | Medium | LinkedList
132133
|1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Solution](../../blob/master/EASY/src/easy/TwoSum.java)| O(n)/O(n^2)|O(1)/O(n) | Easy| HashMap
133134

0 commit comments

Comments
 (0)