Skip to content

Commit ca63b5f

Browse files
add link to Minimum Window Substring
1 parent 0917e2d commit ca63b5f

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package hard;
2+
3+
/**
4+
* Created by fishercoder1534 on 10/3/16.
5+
*/
6+
public class MinimumWindowSubstring {
7+
8+
public String minWindow(String s, String t) {
9+
int[] counts = new int[256];
10+
for(char c : t.toCharArray()){
11+
counts[c]++;
12+
}
13+
14+
int start = 0, end = 0, minStart = 0, minLen = Integer.MAX_VALUE, counter = t.length();
15+
while(end < s.length()){
16+
if(counts[s.charAt(end)] > 0) counter--;
17+
18+
counts[s.charAt(end)]--;
19+
end++;
20+
21+
while(counter == 0){
22+
if(end-start < minLen){
23+
minStart = start;
24+
minLen = end-start;
25+
}
26+
counts[s.charAt(start)]++;
27+
if(counts[s.charAt(start)] > 0) counter++;
28+
start++;
29+
}
30+
}
31+
32+
if(minLen == Integer.MAX_VALUE) return "";
33+
return s.substring(minStart, minStart+minLen);
34+
}
35+
36+
}

‎README.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
|278|[First Bad Version](https://leetcode.com/problems/first-bad-version/)|[Solution](../../blob/master/EASY/src/easy/FirstBadVersion.java)| O(logn)|O(1) | Easy| Binary Search
55
|133|[Clone Graph](https://leetcode.com/problems/clone-graph/)|[Solution](../../blob/master/MEDIUM/src/medium/CloneGraph.java)| O(n)|O(n) | Medium| HashMap, BFS
66
|91|[Decode Ways](https://leetcode.com/problems/decode-ways/)|[Solution](../../blob/master/MEDIUM/src/medium/DecodeWays.java)| O(n)|O(n) | Medium| DP
7+
|76|[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)|[Solution](../../blob/master/HARD/src/hard/MinimumWindowSubstring.java)|O(n)|O(k)|Hard|Two Pointers
78
|23|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)|[Solution](../../blob/master/HARD/src/hard/MergeKSortedList.java)|O(n*logk)|O(logk)|Hard|Heap
89
|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)|[Solution](../../blob/master/MEDIUM/src/medium/LetterCombinationsofaPhoneNumber.java)|O(n*4^n)|O(n)|Medium|Backtracking
910
|10|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)|[Solution](../../blob/master/HARD/src/hard/RegularExpressionMatching.java)|O(m*n)|O(m*n)|Hard|DP

0 commit comments

Comments
 (0)