Count Number of Special Subsequences LeetCode solution in Rust
1impl Solution {2pub fn count_special_subsequences(nums: Vec<i32>) -> i32 {3let mut dp = vec![0, 0, 0];4let mod_ = 1_000_000_007;5for &a in nums.iter() {6let a = a as usize;7dp[a] = ((dp[a] + dp[a]) % mod_ + (if a > 0 { dp[a - 1] } else { 1 })) % mod_;8}9dp[2]10}11}