From eb307abe9979878b187c58e82091896b6b39370e Mon Sep 17 00:00:00 2001 From: Aryan Date: Sat, 8 Jul 2023 12:15:10 +0530 Subject: [PATCH] added code for No. of subarrays product < k --- ....cpp_7825d78a6905f552e3a1c581ec6241ce.prob | 1 + .../CPlusPlus/Arrays/subarray-product.bin | Bin 0 -> 48313 bytes .../CPlusPlus/Arrays/subarray-product.cpp | 94 ++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 algorithms/CPlusPlus/Arrays/.cph/.subarray-product.cpp_7825d78a6905f552e3a1c581ec6241ce.prob create mode 100644 algorithms/CPlusPlus/Arrays/subarray-product.bin create mode 100644 algorithms/CPlusPlus/Arrays/subarray-product.cpp diff --git a/algorithms/CPlusPlus/Arrays/.cph/.subarray-product.cpp_7825d78a6905f552e3a1c581ec6241ce.prob b/algorithms/CPlusPlus/Arrays/.cph/.subarray-product.cpp_7825d78a6905f552e3a1c581ec6241ce.prob new file mode 100644 index 00000000..d2351623 --- /dev/null +++ b/algorithms/CPlusPlus/Arrays/.cph/.subarray-product.cpp_7825d78a6905f552e3a1c581ec6241ce.prob @@ -0,0 +1 @@ +{"name":"Local: subarray-product","url":"c:\\Users\\HP\\OneDrive\\Desktop\\DSA Contrib\\DSA\\algorithms\\CPlusPlus\\Arrays\\subarray-product.cpp","tests":[{"id":1688797590384,"input":"5","output":""}],"interactive":false,"memoryLimit":1024,"timeLimit":3000,"srcPath":"c:\\Users\\HP\\OneDrive\\Desktop\\DSA Contrib\\DSA\\algorithms\\CPlusPlus\\Arrays\\subarray-product.cpp","group":"local","local":true} \ No newline at end of file diff --git a/algorithms/CPlusPlus/Arrays/subarray-product.bin b/algorithms/CPlusPlus/Arrays/subarray-product.bin new file mode 100644 index 0000000000000000000000000000000000000000..5dd8ea9e00787b36baee2a3758d563516dfbf889 GIT binary patch literal 48313 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 literal 0 HcmV?d00001 diff --git a/algorithms/CPlusPlus/Arrays/subarray-product.cpp b/algorithms/CPlusPlus/Arrays/subarray-product.cpp new file mode 100644 index 00000000..85b04d8c --- /dev/null +++ b/algorithms/CPlusPlus/Arrays/subarray-product.cpp @@ -0,0 +1,94 @@ +/* +A C++ (CPP) code to find how many subarrays ( contiguous part of an array) are present in an array whose product is less than a + given number 'k' + + e.g.- + Input array - arr[5]= {1, 3, 4 ,5 ,2} + Input No. - k = 5 + + Subarrays of arr having product less than (k=5) are - {1} , {3} , {4} , {2} , {1 , 3} +*/ + +/* + +Idea - Use Sliding Window Algorithm + +Procedure - + +Go in a loop ( j=0 to n) and create a sliding window each time starting from current element and increase its size (in second loop) +till both of these conditions are true ( product of all eleemnts in the window < k and iterator < last_index ) + +Proof - + If at any instance , the product of all elements in the current window (subarray) exceeds k , then all further windows's product>k + and hence we shift to the element to immediate right and do the same process . +*/ + +// Implementation + +#include +using namespace std; +#define ll long long int + +// required function + +int count_SubArray_Product_Less_Than_K(int a[], int n, int k) +{ + // Actual answer + int ans = 0; + + for (int j = 0; j < n; j++) + { + // traverse each element + int i = j; + + // initialize the product as 1 for current window . + + long long int product = 1; + + // making a window that is expanding continuously till (product < k) AND (counter variable < size of array) . + while (i < n && product < k) + { + product *= a[i]; + if (product < k) + { + ans++; + i++; + } + } + } + + return ans; +} + +int main() +{ + + // Taking INPUT from user + int n; + + cout << "Enter the no. of elements in array : \n"; + cin >> n; + + int arr[n]; + + cout << "Enter the elements : \n"; + + for (int j = 0; j < n; j++) + { + cin >> arr[j]; + } + + int k; + + cout << "Enter the number k : \n"; + cin >> k; + + // Calling the required Function + int ans = count_SubArray_Product_Less_Than_K(arr, n, k); + + // Giving Output + cout << "The Number of subarrays in given array whose product is less than " << k << "are- " << endl; + cout << ans << endl; + + return 0; +}