알고리즘문제

1630. Arithmetic Subarrays

단점이없어지고싶은개발자 2022. 3. 29. 09:35
반응형

오늘의 알고리즘문제 : 각각의 배열의 숫자의 차를 구해 서로의 차가 다르다면 false를 반환하고, 만약 끝까지 갔을 때 값이 같다면 true를 배열에 넣고 마지막에 배열을 반환하는 문제다.

const checkArithmeticSubarrays = function(nums, l, r) {
    const results = [];
    
    for (let i = 0; i < l.length; i++) {
        let duplicateNums = nums.slice(l[i], r[i] + 1).sort((a, b) => a - b);
        let temp = Math.abs(duplicateNums[0] - duplicateNums[1]);
        let count = 1;
      
        for (let j = 0; j < duplicateNums.length - 1; j++) {
          if (Math.abs(duplicateNums[j] - duplicateNums[j + 1]) !== temp) {
              results.push(false);
              break;
          } 
            
          if (count === duplicateNums.length - 1) {
              results.push(true);
              break;
          }
            count++;
        }
    }
    
    return results;
};

 

반응형