This commit is contained in:
2025-09-15 21:12:04 +08:00
commit 3f58f483ff
144 changed files with 5298 additions and 0 deletions

50
23/04/1019.c Normal file
View File

@@ -0,0 +1,50 @@
struct ListNode
{
int val;
struct ListNode *next;
};
typedef struct Pair {
int first;
int second;
} Pair;
int getLength(struct ListNode* head){
int len = 0;
ListNode* node = head;
while (node.next)
{
node = node.next;
len++;
}
return len;
}
int* nextLargerNodes(struct ListNode* head, int* returnSize){
int len = 0;
struct ListNode* cur = head;
while (cur) {
cur = cur->next;
len++;
}
int* ans = (int *)calloc(len, sizeof(int));
Pair stack[len];
int top = 0, pos = 0;
cur = head;
int idx = -1;
while (cur) {
++idx;
ans[pos++] = 0;
while (top > 0 && stack[top - 1].first < cur->val) {
ans[stack[top - 1].second] = cur->val;
top--;
}
stack[top].first = cur->val;
stack[top].second = idx;
top++;
cur = cur->next;
}
*returnSize = len;
return ans;
}

20
23/04/2399.c Normal file
View File

@@ -0,0 +1,20 @@
#include <stdbool.h>
#include <string.h>
bool checkDistances(char *s, int *distance, int distanceSize)
{
for (int i = 0; i < strlen(s); i++)
{
int site = s[i] - 'a';
if (distance[i] == -1)
{
continue;
}
if (site + distance[i] + 1 >= strlen(s) || s[i] != s[i + distance[site] + 1])
{
return false;
}
distance[i] = -1;
}
return true;
}