![]() |
VOOZH | about |
40 8
Time Complexity: O(1)
Auxiliary Space: O(n) where n is the size of the array.
The above output is for a machine where the size of an integer is 4 bytes and the size of a pointer is 8 bytes.
The cout statement inside main() prints 40, and cout in findSize() prints 8. The reason for different outputs is that the arrays always pass pointers in functions. Therefore, findSize(int arr[]) and findSize(int *arr) mean exact same thing. Therefore the cout statement inside findSize() prints the size of a pointer.
For details, refer to the following articles:
We can pass a 'reference to the array'.
40 40
Time Complexity: O(1)
Space Complexity: O(n) where n is the size of the array.
The above program isn't appealing as we have used the hardcoded size of the array parameter.
We can use templates to define the function instead of using the hardcoded size.
40 40
Time Complexity: O(1)
Space Complexity: O(n) where n is the size of the array.
40 40 80 80
Time Complexity: O(1)
Space Complexity: O(n) where n is the size of array.
It's your task man! I'm giving you a hint.
This article is contributed by Swarupananda Dhua