CodeKata Shortest Unsorted Continuous Subarray

chaeruru·2021년 8월 23일
0

문제 링크

Shortest Unsorted Continuous Subarray - LeetCode

문제 풀이

주어진 배열에서 연속된 subarray를 정렬하여 오름차순으로 만들 때 subarray의 최소 길이를 구하는 문제이다.

주어진 배열을 정렬하여 새로운 배열을 만들어서 비교하였다. 배열의 시작점부터 다르기 시작한 부분과 배열의 마지막에서부터 다르기 시작한 인덱스의 차를 구한다.

나의 코드

var findUnsortedSubarray = function (nums) {
  let lo = -1,
    hi;
  const sorted = [...nums].sort((a, b) => a - b);
  for (let i = 0; i < nums.length; ++i) {
    if (nums[i] !== sorted[i]) {
      lo = i;
      break;
    }
  }
  if (lo === -1) return 0;
  for (let i = nums.length - 1; i >= 0; --i) {
    if (nums[i] !== sorted[i]) {
      hi = i;
      break;
    }
  }
  return hi - lo + 1;
};
profile
알고리즘과 프론트엔드 부셔버리기

0개의 댓글

Powered by GraphCDN, the GraphQL CDN