Здравствуйте, друзья, если вы нашли эту статью, значит, вы что-то ищете, сегодня мы будем решать проблему, которую я нашел на Hackerank, и я призываю вас посмотреть на проблему, прежде чем копаться в решении. Без лишних слов приступим.

Проблема

Starting with a 1-indexed array of zeros and a list of operations, for each operation add a value to each the array element between two given indices, inclusive. Once all operations have been performed, return the maximum value in the array.

Пример

n=10
queries = [[1,5,3],[4,8,7],[6,9,1]]
Queries are interpreted as follows
a b k
1 5 3
4 8 7
6 9 1
Add the values of k between the indices a and b inclusive:
index -> 1 2 3 4 5 6 7 8 9 10
         [0,0,0, 0, 0,0,0,0, 0]
         [3,3,3, 3, 3,0,0,0, 0]
         [3,3,3,10,10,7,7,7,0,0]
         [3,3,3,10,10,8,8,8,1,0]
The largest value is 10 after all operations are performed

Описание функции

Complete the function arrayManipulation in the editor below
arrayManipulation has the following parameters:
* int n - the number of elements in the array
* int queries[q][3] - a two dimensional array of queries where each queries[i] contains three integers a,b, and k.

Возвращает

* int - the maximum value in the resultant array

Формат ввода

The first line contains two space-separated integers n and m, the size of the array and the number of operations.
Each of the next m lines contains three space-separated integers a,  b and k, the left index, right index and summand.

Образец ввода

5 3
1 2 100
2 5 100
3 4 100

Пример вывода

200

Объяснение

After the first update the list is 100 100 0 0 0.
After the second update list is 100 200 100 100 100.
After the third update list is 100 200 200 200 100.
The maximum value is 200.

Решение на JS

Спасибо за ваше время. Пожалуйста, найдите время, чтобы просмотреть проблему, прежде чем искать решение. Помните, что это в образовательных целях и не более того. Также вы можете подписаться на меня здесь, в Linkedin и в Twitter.