50236. String Merge

難度:2.8/5

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mergeString.h"

void mergeString(char** p, char l[26], char* a){
int rank[26];
for(int i = 0; i < 26; i++) rank[l[i] - 'a'] = i;

int n = 0;
while(p[n] != NULL) n++;

int a_ptr = 0;
while(1){
int max_idx = -1, max_pri = 50;
for(int i = 0; i < n; i++){
char ch = *(p[i]);
if(ch == '\0') continue;
if(rank[ch - 'a'] < max_pri){
max_idx = i, max_pri = rank[ch - 'a'];
}
}
if(max_idx == -1) break;
else{
a[a_ptr++] = *(p[max_idx]);
p[max_idx]++;
}
}
}


50236. String Merge
https://aaronlin1229.github.io/judgegirl_50236/
Author
Akizumi
Posted on
July 17, 2023
Licensed under