1. class Solution:
    2. def findNumberOfLIS(self, nums: List[int]) -> int:
    3. #nums = [2,2,2,2,2]
    4. n = len(nums)
    5. if n == 0:
    6. return 0
    7. dp = [1] * n
    8. ans = [1] * n
    9. for i in range(n):
    10. for j in range(i):
    11. if nums[j] < nums[i]:
    12. if dp[j] + 1 > dp[i]:
    13. dp[i] = dp[j] + 1
    14. ans[i] = ans[j]
    15. elif dp[j] + 1 == dp[i]:
    16. ans[i] += ans[j]
    17. length = max(dp)
    18. result = 0
    19. for i in range(n):
    20. if dp[i] == length:
    21. result += ans[i]
    22. return result673. Number of Longest Increasing Subsequence