今天是Sivan堅持寫題解的第13天,
解題思路
先將陣列排序,之后對比ransomNote和magazine,一位一位向后找,
C語言代碼實作
int cmp1(const void* e1, const void* e2);
bool canConstruct(char* ransomNote, char* magazine) {
int lenr = strlen(ransomNote);
int lenm = strlen(magazine);
int i, j;
i = 0;
j = 0;
int flag = 0;
qsort(ransomNote, lenr, sizeof(char), cmp1);
qsort(magazine, lenm, sizeof(char), cmp1); //將兩個陣列排序
while (j < lenm) {
if (ransomNote[i] == magazine[j]) {
i++;
j++;
flag++;
}
if (ransomNote[i] != magazine[j]) {
j++;
}
}
if (flag >= lenr) {
return true;
}
else {
return false;
}
return 0;
}
int cmp1(const void* e1, const void* e2) {
return strcmp((char*)e1, (char*)e2);
}
最后,碼字不易,如果覺得寫的不錯的話可以點個贊或者關注一下作者,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/374631.html
標籤:其他
上一篇:MySQL索引的底層資料結構
