
Input: nums =[1,2,3,4,5]Output: 8Explanation:
The above diagram depicts the process from which we obtain the triangular sum of the array.
The process is similar to repeatedly reducing the array by summing adjacent elements modulo 10, until only one element remains. This is a direct simulation of the problem statement.
classSolution {
public:int triangularSum(vector<int>& nums) {
while (nums.size() >1) {
vector<int> nxt(nums.size() -1);
for (int i =0; i < nxt.size(); ++i)
nxt[i] = (nums[i] + nums[i+1]) %10;
nums = nxt;
}
return nums[0];
}
};
1
2
3
4
5
6
7
8
9
10
functriangularSum(nums []int) int {
for len(nums) > 1 {
nxt:= make([]int, len(nums)-1)
fori:=0; i < len(nxt); i++ {
nxt[i] = (nums[i] +nums[i+1]) %10 }
nums = nxt }
returnnums[0]
}
1
2
3
4
5
6
7
8
9
10
11
12
classSolution {
publicinttriangularSum(int[] nums) {
int n = nums.length;
while (n > 1) {
for (int i = 0; i < n-1; i++) {
nums[i]= (nums[i]+ nums[i+1]) % 10;
}
n--;
}
return nums[0];
}
}
1
2
3
4
5
6
7
8
9
10
11
12
classSolution {
funtriangularSum(nums: IntArray): Int {
var n = nums.size
while (n > 1) {
for (i in0 until n-1) {
nums[i] = (nums[i] + nums[i+1]) % 10 }
n-- }
return nums[0]
}
}
1
2
3
4
5
classSolution:
deftriangularSum(self, nums: list[int]) -> int:
while len(nums) >1:
nums = [(nums[i] + nums[i+1]) %10for i in range(len(nums)-1)]
return nums[0]