Given an array A that is a permutation of n numbers [1-n]. Find the number of subarrarys S that meets the following condition max(S) — min(S) = length(S) — 1.
Example 1:
Input: [4, 3, 1, 2, 5] Output: 10 Explanation: subarrays that meets the condition are [4] [3] [1] [2] [5] [4 3] [1 2] [3 1 2] [4 3 1 2] [4 3 1 2 5]
There are 10 subarray that meets the condition, so the answer should be 10.
Is there a better than O(n^2) solution?
https://codeforces.com/blog/entry/70503?locale=en
Can you please specify the source?
Google Interview
This problem is being asked a record third time
you should for every number i from 1 to n calculate that:
And then get sum of all this calculation.
for every i you should store in an array D that:
D[i] = 0!+1!+2!+....+i!
how can you calculate an array D?
And then:
How have you come up with this thing?
I am not getting correct answer with this approach
(n-i)!*(i+1)!*(n-i) where i should be from 0 to n-1 will give you the correct answer for n=1 ->1 n=2 ->6 n=3 ->32 n=4 ->180 ans so on