2324 Find Triangular Sum Of An Array
2324 Find Triangular Sum Of An Array
Find Triangular Sum of an Array 
You are given a 0-indexed integer array nums, where nums[i] is a digit between 0 and 9 (inclusive).
The triangular sum of nums is the value of the only element present in nums after the following process terminates:
1
2
3
4
Let nums comprise of n elements. If n == 1, **end** the process. Otherwise, **create** a new **0-indexed** integer array newNums of length n - 1.
For each index i, where 0 <= i < n - 1, **assign** the value of newNums[i] as (nums[i] + nums[i+1]) % 10, where % denotes modulo operator.
**Replace** the array nums with newNums.
**Repeat** the entire process starting from step 1.
Return the triangular sum of nums.
Example 1:
1
2
3
4
5
**Input:** nums = [1,2,3,4,5]
**Output:** 8
**Explanation:**
The above diagram depicts the process from which we obtain the triangular sum of the array.
Example 2:
1
2
3
4
5
**Input:** nums = [5]
**Output:** 5
**Explanation:**
Since there is only one element in nums, the triangular sum is the value of that element itself.
Constraints:
1
2
1 <= nums.length <= 1000
0 <= nums[i] <= 9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution:
def triangularSum(self, nums: List[int]) -> int:
"""
1
1 1
1 2 1 | 1 2 1 - 1 3 3 1
1 3 3 1 | 1 3 3 1 -
1 4 6 4 1
1 5 10 10 5 1
1 2*prev 3*prev
"""
l = len(nums)
def recurse(nums):
if len(nums) == 1:
return nums[0] % 10
arr = []
for i in range(0, len(nums)-1):
arr.append( (nums[i] + nums[i+1]) % 10)
return recurse(arr)
return recurse(nums)
This post is licensed under CC BY 4.0 by the author.
