Count the Number of Computer Unlocking Permutations
You are given an array complexity of length n.
You are given an array complexity of length n.
There are n locked computers in a room with labels from 0 to n - 1, each with its own unique password. The password of the computer i has a complexity complexity[i].
The password for the computer labeled 0 is already decrypted and serves as the root. All other computers must be unlocked using it or another previously unlocked computer, following this information:
Find the number of permutations of [0, 1, 2, ..., (n - 1)] that represent a valid order in which the computers can be unlocked, starting from computer 0 as the only initially unlocked one.
Since the answer may be large, return it modulo 10^9 + 7.
Note that the password for the computer with label 0 is decrypted, and not the computer with the first position in the permutation.
Example 1
Input: complexity = [1,2,3]
Output: 2
Explanation: The valid permutations are:
Example 2
Input: complexity = [3,3,3,4,4,4]
Output: 0
Explanation: There are no possible permutations which can unlock all computers.
Constraints
- 2 <= complexity.length <= 10^5
- 1 <= complexity[i] <= 10^9
Hints
Companies
No companies reported yet.
Discussion
Sign in to join the discussion.
Loading discussion...
Test results
No test cases yet.