You are given N counters, initially set to 0, and you have two possible operations on them:
- increase(X) − counter X is increased by 1,
- max counter − all counters are set to the maximum value of any counter.
A non-empty array A of M integers is given. This array represents consecutive operations:
- if A[K] = X, such that 1 ≤ X ≤ N, then operation K is increase(X),
- if A[K] = N + 1 then operation K is max counter.
For example, given integer N = 5 and array A such that:
A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 A[4] = 1 A[5] = 4 A[6] = 4the values of the counters after each consecutive operation will be:
(0, 0, 1, 0, 0) (0, 0, 1, 1, 0) (0, 0, 1, 2, 0) (2, 2, 2, 2, 2) (3, 2, 2, 2, 2) (3, 2, 2, 3, 2) (3, 2, 2, 4, 2)The goal is to calculate the value of every counter after all operations.
Write a function:
function solution(N, A);
that, given an integer N and a non-empty array A consisting of M integers, returns a sequence of integers representing the values of the counters.
Result array should be returned as an array of integers.
For example, given:
A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 A[4] = 1 A[5] = 4 A[6] = 4the function should return [3, 2, 2, 4, 2], as explained above.
Write an efficient algorithm for the following assumptions:
- N and M are integers within the range [1..100,000];
- each element of array A is an integer within the range [1..N + 1].
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[]
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max()
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1])
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min)
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+, min)
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[va])
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
result.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result.forEac
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result.forEach()
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result.map((val, i) =)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result = result.map((val, i) => {
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
return result.map((val, i) => {
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
return result.map((val, i) => {
result[i] = Math.max(result[i], min)
})
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
return result.map((val, i) => {
result[i] = Math.max(result[i], min);
});
}
Invalid result type, integer expected, 'undefined' found Perhaps you are missing a 'return'?
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result.map((val, i) => {
result[i] = Math.max(result[i], min);
});
return
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result = result.map((val, i) => {
result[i] = Math.max(result[i], min);
});
return result
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
result = result.map((val, i) => {
result[i] = Math.max(result[i], min);
});
return result
}
Invalid result type, integer expected, 'undefined' found Perhaps you are missing a 'return'?
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
console.log(result);
result = result.map((val, i) => {
result[i] = Math.max(result[i], min);
});
return result
}
Invalid result type, integer expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
[ 2, 0, 1, 4, 0 ]
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
console.log(result);
result = result.map(
return result
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
console.log(result);
for (let i =0; i< result.length; i)
return result
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
console.log(result);
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1]+1, min);
max = Math.max(result[val-1], max);
}
})
console.log(result);
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
[ 2, 0, 1, 4, 0 ]
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
console.log(result);
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
[3, [1]]
[3, [4]]
[3, [1, 4, 2]]
[10, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 5, 6, 7, 11, 10, 1, 2]]
function result: [1, 0, 0]
function result: [0, 0, 0]
function result: [1, 2, 1]
function result: [16, 16, 15, 15, 15, 15, 15, 15, 15, 16]
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
[3, [1]]
[3, [4]]
[3, [1, 4, 2]]
[10, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 5, 6, 7, 11, 10, 1, 2]]
function result: [1, 0, 0]
function result: [0, 0, 0]
function result: [1, 2, 1]
function result: [16, 16, 15, 15, 15, 15, 15, 15, 15, 16]
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// write your code in JavaScript (Node.js 8.9.4)
let result = Array.from({length: N}, () => 0);
let max = 0;
let min = 0;
A.forEach((val) => {
if(val > N) {
min = max;
} else {
result[val-1] = Math.max(result[val-1], min) + 1;
max = Math.max(result[val-1], max);
}
})
for (let i =0; i< result.length; i++) {
result[i] = Math.max(result[i], min);
}
return result;
}
The solution obtained perfect score.