From 0a08e9c67f0adae2466192c31748e07b54ddebda Mon Sep 17 00:00:00 2001 From: Soumyadeep Pal <64325089+soumyadeep2002ss@users.noreply.github.com> Date: Sun, 17 Oct 2021 00:39:09 +0530 Subject: [PATCH] Create left_rotate_array_by_k(space_optimized) // time complexity=o(n) // space complexity=o(1) --- ...eft_rotate_array_by_k(space_optimized).cpp | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Code/CPP/C++/arrays/left_rotate_array_by_k(space_optimized).cpp diff --git a/Code/CPP/C++/arrays/left_rotate_array_by_k(space_optimized).cpp b/Code/CPP/C++/arrays/left_rotate_array_by_k(space_optimized).cpp new file mode 100644 index 00000000..da168a7d --- /dev/null +++ b/Code/CPP/C++/arrays/left_rotate_array_by_k(space_optimized).cpp @@ -0,0 +1,32 @@ +#include +#include +using namespace std; + +void print(int arr[], int n) +{ + for (int i = 0; i < n; i++) + { + cout << arr[i] << " "; + } + cout << "\n"; +} + +void left_rotate_by_k(int arr[], int n, int k) +{ + k = k % n; + reverse(arr, arr + k); + reverse(arr + k, arr + n); + reverse(arr, arr + n); + print(arr, n); +} + +int main() +{ + int n = 5; + int k = 2; + int arr[n] = {1, 2, 3, 4, 5}; + left_rotate_by_k(arr, n, 2); + return 0; +} +// time complexity=o(n) +// space complexity=o(1)