Arithmetic Subarrays LeetCode solution in JavaScript
1/**2* @param {number[]} nums3* @param {number[]} l4* @param {number[]} r5* @return {boolean[]}6*/7var checkArithmeticSubarrays = function (nums, l, r) {8let result = [];9for (let i = 0; i < l.length; i++) {10result.push(isArithmetic(nums.slice(l[i], r[i] + 1)));11}12return result;13};1415function isArithmetic(arr) {16let min = Math.min(...arr);17let max = Math.max(...arr);1819if (min == max) {20return true;21}2223let step = (max - min) / (arr.length - 1);2425if (step != Math.floor(step)) {26return false;27}2829let set = new Set();30for (let x of arr) {31if (set.has(x)) {32return false;33}3435set.add(x);36}3738for (let x = min; x <= max; x += step) {39if (!set.has(x)) {40return false;41}42}4344return true;45}