Samsung Interview Question
Software Engineer InternsTeam: Android
Country: United States
Interview Type: Phone Interview
with JavaScript (you can copy it into your browser console (F12) to try it out)
// some ranges
var intRangeA = [10, 100];
var intRangeB = [60, 150];
var intRangeC = [120, 200];
var intRangeD = [170, 200];
var ranges = [intRangeA, intRangeB, intRangeC, intRangeD];
// sort function
var numSort = function(a, b) {
return b - a;
};
// loop over ranges
for (var i = 0; i < ranges.length; i++) {
for (var j = 0; j < ranges.length; j++) {
if (i != j) {
var sortA = ranges[i].sort(numSort);
var sortB = ranges[j].sort(numSort);
var maxA = sortA[0];
var minA = sortA[sortA.length - 1];
var maxB = sortB[0];
var minB = sortB[sortB.length - 1];
if (minA <= minB && maxA <= maxB) {
var diff = maxA - minB;
if (diff > -1) {
console.debug("Overlap found([" + ranges[i].sort(numSort).reverse() + "];[" + ranges[j].sort(numSort).reverse() + "]), with overlapping range:" + minB + ";" + maxA);
}
}
}
}
}
The last line should be
- Westlake January 29, 2014