Two weeks ago I've started a new section for this blog: the JS interview questions. Hope this will become a fun and useful collection of hand picked Javascript interview questions to prepare for your programming interviews.
š¼ Js Interview Question
The past newletter question was: you are given an array of integers (both positive and negative). Find the contiguous sequence with the largest sum. Return the sum and the numbers.
For example:
EXAMPLE:
Input:2, -8, 3, -2, 4, -10
Output: 5 ( i. e ā¢ , { 3, -2, 4})
š Solution (Javascript)
Below is the full code for the solution:
let currentMaxSum, start, end = null
const resetGlobals = ()=>
currentMaxSum = start = end = null
const printSolution = (ds, start, end) => {
console.log("-------------")
console.log(ds)
console.log(ds.slice(start, end + 1))
const sum = ds.slice(start, end + 1).reduce(
(acc, val) => acc += val,
0
)
console.log(sum)
console.log("-------------")
}
const checkForMaxSum = (sum, startIndex, endIndex) => {
if ((currentMaxSum != null) && (currentMaxSum > sum))
return;
currentMaxSum = sum
start = startIndex
end = endIndex
}
const checkSumsWithStartignIndex = (startIndex, ds) => {
let sum = 0
for (let endIndex = startIndex; endIndex < ds.length; endIndex++) {
sum += ds[endIndex]
checkForMaxSum(sum, startIndex, endIndex)
}
}
const maxSum = (ds)=> {
resetGlobals()
ds.forEach(
(el, index)=> checkSumsWithStartignIndex(index, ds)
)
printSolution(ds, start, end)
}
Example ussage:
const DS1 = [2, -8, 3, -2, 4, -10]
const DS2 = [-1, -1, 7, -4]
maxSum(DS1)
maxSum(DS2)
š Frontend Odyssey: 25 projects in 100 days
Learn how to build production-ready web applications. Dive in with 25 projects with project briefs and wireframes!
- āļø 25+ React & JS projects
- āļø 100+ Interview questions
- āļø ChatGPT for developers
- ā 50+ Project Ideas
š Frontend Odyssey: 25 projects in 100 days
Learn how to build production-ready web applications. Dive in with 25 projects with project briefs and wireframes!
- āļø 25+ React & JS projects
- āļø 100+ Interview questions
- āļø ChatGPT for developers
- ā 50+ Project Ideas