The problem goes like this:
You are given an integer array nums.
A nice permutation is defined as a permutation of any non-empty subset of nums such that the absolute difference between any two consecutive elements is exactly 1. A permutation of size 1 is considered nice by definition. A subset is any non-empty selection of elements from nums (regardless of order). A permutation of a subset is any reordering of the elements of a subset.
Your task is to compute the sum of all elements across all such nice permutations.
Since the total may be very large, output the result modulo $$$10^9 + 7$$$.
Input
- An array
numsof integers. - $$$1 \leq \text{nums.length} \leq 10^5$$$ (maybe no solution exists though ... I can't guarantee anything lol)
- $$$0 \leq \text{nums}[i] \leq 10^5$$$ (maybe no solution exists though ... I can't guarantee anything lol)
Output
- A single integer: the sum of all elements in all nice permutations of all non-empty subsets of
nums, taken modulo $$$10^9 + 7$$$.
Examples
nums = [1, 2, 3]
[1],[2],[3],[1,2],[2,1],[2,3],[3,2],[1,2,3],[3,2,1]are all valid.- The sum is 34.
[1, 3],[3, 1],[2,3,1],[2,1,3],[3,1,2], and[1,3,2]are not valid.
nums = [2, 3, 2]
[2],[2],[3],[2,3],[3,2],[2,3],[3,2],[2,3,2],[2,3,2]are all valid.- The sum is 41.
[2,2],[2,2],[2,2,3],[2,2,3],[3,2,2], and[3,2,2]are not valid.
Apart from brute-forcing all $$$\sum_{k=1}^{n} \binom{n}{k} \cdot k!$$$ possibilities, I can't find any way to do it. I feel like we should start by sorting and making clusters (for example [1, 2, 9, 10, 11, 12] would have two clusters, [1, 2] and [9, 10, 11, 12]), but that kind of got me nowhere.



