aboutsummaryrefslogtreecommitdiff
path: root/works/solutions/leetcode/cpp/6.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-28 23:13:39 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-28 23:13:39 +0800
commit99e2e923d0c77b02f3fb4ff648ea916954868606 (patch)
treeec8e03f6f2cd1ce43990fb4fe6cd631967d0237e /works/solutions/leetcode/cpp/6.cpp
parent1cee979f5d36b311a03cc7397a036ba11caf3d42 (diff)
downloadcrupest-99e2e923d0c77b02f3fb4ff648ea916954868606.tar.gz
crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.tar.bz2
crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.zip
chore(store): move everything to store.
Diffstat (limited to 'works/solutions/leetcode/cpp/6.cpp')
-rw-r--r--works/solutions/leetcode/cpp/6.cpp56
1 files changed, 0 insertions, 56 deletions
diff --git a/works/solutions/leetcode/cpp/6.cpp b/works/solutions/leetcode/cpp/6.cpp
deleted file mode 100644
index f1d947c..0000000
--- a/works/solutions/leetcode/cpp/6.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <string>
-#include <iostream>
-
-using std::string;
-
-class Solution
-{
-public:
- string convert(string s, int numRows)
- {
- if (numRows == 1)
- return s;
-
- const auto length = s.size();
- const int count_per_group = numRows * 2 - 2;
- string result;
- result.reserve(length);
- for (int row = 0; row < numRows; row++)
- {
- if (row == 0)
- {
- for (int p = 0; p < length; p += count_per_group)
- result += s[p];
- }
- else if (row == numRows - 1)
- {
- for (int p = row; p < length; p += count_per_group)
- result += s[p];
- }
- else
- {
- bool former = true;
- const auto former_gap = count_per_group - row * 2;
- const auto latter_gap = count_per_group - former_gap;
- for (int p = row; p < length; p += (former ? former_gap : latter_gap), former = !former)
- result += s[p];
- }
- }
- return result;
- }
-};
-
-int main()
-{
- Solution s;
-
- auto result1 = s.convert("PAYPALISHIRING", 3);
- auto result2 = s.convert("PAYPALISHIRING", 4);
- std::cout
- << s.convert("A", 1) << '\n'
- << result1 << '\n'
- << "PAHNAPLSIIGYIR\n"
- << result2 << '\n'
- << "PINALSIGYAHRPI\n";
- return 0;
-} \ No newline at end of file