Solved: 49 - Ranges Zip

This commit is contained in:
2026-08-24 19:20:50 +03:00
parent dea138ca04
commit e907849c57
+12 -8
View File
@@ -3,19 +3,23 @@
namespace cpp23 {
auto zip_sum(const std::vector<int>& a, const std::vector<int>& b) -> std::vector<int> {
(void)a; (void)b;
return {};
return std::views::zip_transform(std::plus{}, a, b)
| std::ranges::to<std::vector>();
}
auto chunk_strings(const std::vector<std::string>& words, std::size_t chunk_size)
-> std::vector<std::vector<std::string>> {
(void)words; (void)chunk_size;
return {};
auto chunk_strings(const std::vector<std::string>& words, const std::size_t chunk_size) -> std::vector<std::vector<std::string>> {
return words
| std::views::chunk(chunk_size)
| std::views::transform([](const auto& chunk) {
return chunk | std::ranges::to<std::vector<std::string>>();
})
| std::ranges::to<std::vector<std::vector<std::string>>>();
}
auto adjacent_differences(const std::vector<int>& data) -> std::vector<int> {
(void)data;
return {};
return data
| std::views::adjacent_transform<2>([](const int x, const int y) { return y - x; })
| std::ranges::to<std::vector<int>>();
}
} // namespace cpp23