add: 230404
This commit is contained in:
parent
fe2a0b6707
commit
c79ce48e37
|
|
@ -0,0 +1,29 @@
|
|||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
/**
|
||||
* 2405. Optimal Partition of String
|
||||
*
|
||||
* Given a string s, partition the string into one or more substrings such that the characters in each substring are unique. That is, no letter appears in a single substring more than once.
|
||||
* Return the minimum number of substrings in such a partition.
|
||||
* Note that each character should belong to exactly one substring in a partition.
|
||||
*/
|
||||
|
||||
class Solution {
|
||||
public:
|
||||
static int partitionString(const std::string& s) {
|
||||
int set = 0, ans = 0;
|
||||
for (auto&& ch : s) {
|
||||
if (int c = 1 << (ch - 'a'); set & c) {
|
||||
set = c;
|
||||
++ans;
|
||||
} else set |= c;
|
||||
}
|
||||
return ans + !!set;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
std::cout << Solution::partitionString("abacaba");
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -4,4 +4,4 @@ PROJECT(2304)
|
|||
SET(CMAKE_CXX_STANDARD 23)
|
||||
SET(CMAKE_EXPORT_COMPILE_COMMANDS true)
|
||||
|
||||
ADD_EXECUTABLE(2304 230404-CN.cpp)
|
||||
ADD_EXECUTABLE(2304 230404.cpp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue