আমাদের দুটি সেট রেঞ্জ আছে: একটি একক রেঞ্জ (R1) এবং অন্যটি রেঞ্জের সেট (R2)। R2-এর যেসব রেঞ্জ (পুরো বা আংশিক) R1-এর ভিতরে পড়ে, তাদের দৈর্ঘ্যের যোগফল বের করতে হবে।
const R1 = [20,40]; const R2 = [[14,22],[24,27],[31,35],[38,56]]; // Result = 2+3+4+2 = 11 const R3 = [120,356]; const R4 = [[234,567]]; // Result = 122
উদাহরণ
কোডটি নিচে দেওয়া হলো:
const R1 = [20,40];
const R2 = [[14,22],[24,27],[31,35],[38,56]];
const R3 = [120,356];
const R4 = [[234,567]];
function sumRanges(range, values) {
const [start, end] = range;
const res = values.reduce((acc, val) => {
const [left, right] = val;
const ex1 = Math.min(right, end);
const ex2 = Math.max(left, start);
const diff = ex1 - ex2;
return acc + Math.max(0, diff);
}, 0);
return res;
};
console.log(sumRanges(R1, R2));
console.log(sumRanges(R3, R4));
আউটপুট
কনসোলে নিচের আউটপুটটি দেখাবে:
11 122