亂序字串的問題

2021-07-24 20:21:05 字數 982 閱讀 9417

其實亂序字串的實質是考察排序的問題,亂序字串經過適當的轉化就會變成乙個排序問題,至於你使用什麼排序方法就會有多種選擇,插入,快速,堆。當然,如果採用建立hash表的方式也是可以的,不過需要書寫好的hash函式。

問題:

題目描述:給出乙個字串陣列s,找到其中所有的亂序字串(anagram)。如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。

樣例:對於字串陣列 [「lint」,」intl」,」inlt」,」code」],返回 [「lint」,」inlt」,」intl」]

**如下:

#include 

#include

#include

#define len 5

#define maxc 128 // 只針對ascii碼表的字元

intcomaparex(const

void *e1, const

void *e2)

void

calculateallstring(char ** a, int len)

}// 索引比較,這裡使用對應的指標值

qsort(x_index_sort, len, sizeof(int*), comaparex);

j = (*(x_index_sort) - x) / maxc;

printf("%s ", a[j]);

for (i=1; iif (comaparex(x_index_sort+i-1, x_index_sort+i) == 0) else

}printf("\n");

free(x);

free(x_index_sort);

}int

main(int argc, char ** argv)

; calculateallstring(a, len);

exit(0);

}

亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。所有的字串都只包含小寫字母 對於字串陣列 lint intl inlt code 返回 lint inlt intl 思路 認為每一組亂序字串都有唯一的相同的 h...

亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。所有的字串都只包含小寫字母 樣例1 輸入 lint intl inlt code 輸出 lint inlt intl 樣例 2 輸入 ab ba cd dc e ...

亂序字串演算法

蠻力法 思路等會睡醒之後寫吧 include string include algorithm include stdio.h include iostream include vector using namespace std bool isanagram string source,strin...