대충이라도 하자

Leetcode - Algo Challenge Day2- 1) Squares of a sorted Array 본문

꼬꼬마 개발자 노트/Leetcode Challenge

Leetcode - Algo Challenge Day2- 1) Squares of a sorted Array

Sueeeeee
반응형

*** 그냥 구현말고 어떤 알고리즘 사용해야 할 지 감이 안 잡혀서 처음의 코드...

***non-decreasing이 키워드일 것 같은데

*** 결국, sorting을 다시 하긴 해야 함.

***Math.pow() -> 일반 제곱으로 바꿔주면 조금 더 빠름, but memory usage...

***two pointer 알고리즘 사용

***non-decreasing order 이기 때문에, 앞쪽이 음수인 경우에만, 순서를 뒤집일 가능성이 있음

*** length의 경우, 변수로 주어지는 것보다 함수 내에서 주어지는 걸 사용하는 게 훨씬 빠름

ex) nums.length -> answer.length

***양쪽 처음과 끝의 인덱스를 변수로 주고, 각 각 비교해서 크면 처음 값을 맨 뒤로 옮겨줌.

<투포인터 알고리즘>

- 특정한 합을 가지는 부분 연속 수열 찾기

1. 시작점과 끝점이 첫 번째원소의 인덱스(0)을 가리킨다.

2. 현재 부분 합과 같다면 count한다.

3. 현재 부분 합보다 작다면, end 부분을 +1 한다.

4. 현재 부분 합이 M보다 크거나 같다면, start 부분 +1한다.

5. 모든 경우를 확인할 때까지 2-4번 반복

반응형
Comments