牛牛有n個字串,他想將這些字串分類,他認為兩個字串a和b屬於同一類需要滿足以下條件:
a中交換任意位置的兩個字元,最終可以得到b,交換的次數不限。比如:abc與bca就是同一類字串。
現在牛牛想知道這n個字串可以分成幾類。
首先輸入乙個正整數n(1 <= n <= 50),接下來輸入n個字串,每個字串長度不超過50。
輸出乙個整數表示分類的個數。
4abcd
abdc
dabc
bacd
#include
#include
#include
#include
typedef
struct _slnode
slnode;
intcharsort
(const
void
* a,
const
void
* b)
intmain()
;if((inum <1)
||(inum >50)
) slnode* phead =
(slnode*
)malloc
(sizeof
(slnode));
phead->next =
null
;for
(int i =
0; i < inum; i++)}
slnode* pcurnode = phead->next;
int icount =0;
while
(pcurnode)}if
(true == bisdel)
else
} pcurnode = pcurnode->next;
}printf
("%d"
, icount)
;return0;
}
牛牛和字串的日常
題目描述 牛牛每天都要做的事就是讀書,從書裡找自己喜歡的句子,他每天都會去讀一本書,如果牛牛今天讀的書的某連續 kk個字元剛好是牛牛喜歡句子的某個字首,那麼牛牛將得到 kk點興奮感,但他每天只能注意到一次自己喜歡的句子 也就是每天只能增加一次興奮感 也就是說他會盡量去找那個讓自己興奮度增加最多的句子...
演算法 字串問題 翻轉字串
翻轉字串 給定乙個字元型別的陣列chas,請在單詞間作逆序調整。只要做到單詞順序逆序即可。例如,如果看成字串 dog loves pig 則調整為 pig loves dog 過程 先整體逆序,在區域性單詞逆序 public static void rotateword char chas reve...
字串包含問題演算法
現在假設有2個字串r和s,其中m r.len n s.len,設計乙個演算法判斷字串s中的每個字元在r串中均存在.顯然,很容易想到的乙個演算法,最粗魯最暴力演算法,其時間複雜度o m n 也就是對s字串中的每個字元在r中進行查詢判斷 這或許是我自己想到的最快的方法了。顯而易見,這樣的演算法或許不是演...