XAUDUYNHAT - Xâu duy nhất

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 0.01s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho một xâu kí tự chỉ gồm các kí tự chữ cái. Do yêu thích tính đơn nhất nên Nam muốn tìm ra một xâu con gồm các kí tự liên tiếp sao cho trong xâu này mỗi kí tự chỉ xuất hiện đúng 1 lần duy nhất.

Bạn được Nam nhờ giúp đỡ, hãy tìm giúp nam xâu đạt yêu cầu có độ dài lớn nhất sẽ là bao nhiêu.

Input

  • Gồm một dòng duy nhất là xâu ban đầu S (độ dài của xâu S ~ \le 5 * 10^4 ~)

Output

  •  Gồm một số duy nhất là đáp án tìm được.

Sample

Input #1
acbE
Output #1
4

Problem source: NTUCoder


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 2
    hohoanghai5042011  đã bình luận lúc 4, Tháng 5, 2024, 4:03

    #include<bits/stdc++.h>

    using namespace std; int maxLengthUniqueSubstring(string s) { int maxLength = 0; int start = 0; unordered_set<char> uniqueChars; for (int end = 0; end < s.length(); end++) { char currentChar = s[end]; if (uniqueChars.find(currentChar) != uniqueChars.end()) { while (s[start] != currentChar) { uniqueChars.erase(s[start]); start++; } start++; } else { uniqueChars.insert(currentChar); maxLength = max(maxLength, end - start + 1); } } return maxLength; } int main() { string s; cin >> s; int result = maxLengthUniqueSubstring(s); cout << result << endl; return 0; } //tham khảo và cho mình xin 1 vote nhé!