티스토리 뷰
class Solution {
public int[] sortedSquares(int[] nums) {
int[] result = new int[nums.length];
int resultIndex = 0;
int smallestIndex = 0;
int smallestNumber = 0;
int leftIndex = 0;
int rightIndex = 0;
for (int i = 0; i < nums.length; i++) {
nums[i] = square(nums[i]);
if (i == 0) {
smallestIndex = i;
smallestNumber = nums[i];
} else {
if (nums[i] < smallestNumber) {
smallestIndex = i;
smallestNumber = nums[i];
}
}
}
result[resultIndex] = smallestNumber;
leftIndex = smallestIndex - 1;
rightIndex = smallestIndex + 1;
resultIndex++;
while(resultIndex < result.length) {
if (leftIndex < 0) {
//left 먼저 소진
result[resultIndex] = nums[rightIndex];
rightIndex++;
} else if (rightIndex >= nums.length) {
//right 먼저 소진
result[resultIndex] = nums[leftIndex];
leftIndex--;
} else {
int leftSquare = nums[leftIndex];
int rightSquare = nums[rightIndex];
if (leftSquare <= rightSquare) {
result[resultIndex] = leftSquare;
leftIndex--;
} else {
result[resultIndex] = rightSquare;
rightIndex++;
}
}
resultIndex++;
}
return result;
}
public int square(int number) {
return number * number;
}
}
'Algorithm > Leetcode' 카테고리의 다른 글
460. LFU Cache (0) | 2025.03.19 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RouteDefinition
- wait()
- RoutePredication
- DyanomoDB
- reative
- msyql-connector-java
- Seperate Chaining
- mariadb-connector-j
- HashMap
- reactor
- referencedColumnName
- ConcurrentHashMap
- circurit breaker
- Lazy
- dynamodb
- GlobalFilter
- rate limit
- aurora
- MariaDB
- getBoolean
- notify()
- AbstractMethodError
- custom config data convertion
- notifyAll()
- spring cloud gateway
- mariada-connector
- N+1
- Flux
- ResultSet
- router
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함