Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- autonomous vehicle
- PathPlanning
- self driving car
- solver
- path planning
- 강화학습
- 백준
- GNN
- C
- OSQP
- Graph Neural Network
- DynamicProgramming
- C++
- Dubins Path
- CUDA
- 공유라이브러리
- Motion Planning
- Recursion
- Frenet Coordinate
- 경로생성
- 정적라이브러리
- 소프티어
- GIT
- 동적라이브러리
- Hybrid A star
- CPP
- MDP
- 선형대수
- 수치최적화
- Leetcode
Archives
- Today
- Total
Swimmer
[LeetCode] 2406. Divide Intervals Into Minimum Number of Groups, C 본문
코딩 문제
[LeetCode] 2406. Divide Intervals Into Minimum Number of Groups, C
Zach Choi 2023. 1. 2. 23:07Solution
- Use qsort(2D array, 2 column) & Greedy Algorithms
- Time Limit Exceed
int minGroups(int** intervals, int intervalsSize, int* intervalsColsize)
{
int i = 0;
int** RefArr;
int RefArrSize = intervalsSize;
int** TmpArr;
int TmpArrSize = intervalsSize;
int NumOfGroup = 0;
int StartIndex = 0;
int EndIndex = 0;
// Sort
qsort(intervals, intervalsSize, sizeof(intervals[0]), compare2Darray2Column);
// Grouping - greedy algorithms
RefArr = malloc(RefArrSize * sizeof(int*));
for (i = 0; i < RefArrSize; i++)
{
RefArr[i] = malloc((*intervalsColsize) * sizeof(int));
RefArr[i][0] = intervals[i][0];
RefArr[i][1] = intervals[i][1];
}
TmpArr = malloc(TmpArrSize * sizeof(int*));
for (i = 0; i < TmpArrSize; i++)
{
TmpArr[i] = malloc((*intervalsColsize) * sizeof(int));
}
while (TmpArrSize != 0)
{
if (TmpArrSize != 0)
{
++NumOfGroup;
}
else
{
break;
}
StartIndex = RefArr[0][0];
EndIndex = RefArr[0][1];
TmpArrSize = 0;
for (i = 1; i != RefArrSize; ++i)
{
if (RefArr[i][0] > EndIndex)
{
EndIndex = RefArr[i][1];
}
else
{
TmpArr[TmpArrSize][0] = RefArr[i][0];
TmpArr[TmpArrSize][1] = RefArr[i][1];
++TmpArrSize;
}
}
for (i = 0; i != TmpArrSize; ++i)
{
RefArr[i][0] = TmpArr[i][0];
RefArr[i][1] = TmpArr[i][1];
}
RefArrSize = TmpArrSize;
}
return NumOfGroup;
}
'코딩 문제' 카테고리의 다른 글
[LeetCode] 2331. Evaluate Boolean Binary Tree, cpp (0) | 2023.01.10 |
---|---|
[LeetCode] 1880. Check if Word Equals Summation of Two Words, C (0) | 2023.01.05 |
[LeetCode] 1614. Maximum Nesting Depth of the Parenthesesm, C (0) | 2023.01.01 |
[LeetCode] 2283. Check if Number Has Equal Digit Count and Digit Value, C (0) | 2023.01.01 |
[LeetCode] 888. Fair Candy Swap, C (0) | 2022.12.31 |
Comments