Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
class Solution { public: string minWindow(string s, string t) { map
required; map
exist; for(int i = 0; i < (int) t.size(); i++) { required[t[i]]++; exist[t[i]] = true; } int valid_substring = (int) exist.size(); int j = 0; int min_length = 1e9; int S, E; for(int i = 0; i < (int) s.size(); i++) { while(valid_substring > 0 and j < (int) s.size()) { if(exist[s[j]]) { required[s[j]]--; if(required[s[j]] == 0) { valid_substring--; } } j++; } if(valid_substring == 0) { if(min_length > j - i + 1) { min_length = j - i + 1; S = i; E = j; } } if(exist[s[i]]) { required[s[i]]++; if(required[s[i]] > 0) { valid_substring++; } } } if(min_length == 1e9) { return ""; } string res = ""; for(int i = S; i < E; i++) { res += s[i]; } if(min_length == 1e9) { return ""; } return res; } };
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)