stl-map-string-查找重複子串
#include <set>
一個集合(set)是一個容器,存儲的多個元素不允許重複。
集合中的元素默認按升序排列。一個集合通過一個鏈表來組織,在插入操作和刪除操作上比向量(vector)快,但查找或添加末尾的元素時會有些慢。具體實現采用了紅黑樹的平衡二叉樹的數據結構。
集合不能隨機存儲,隻能通過iterator++來遍曆。
成員函數:
begin() 返回指向第一個元素的迭代器
clear() 清除所有元素
empty() 如果集合為空,返回true
end() 返回指向最後一個元素之後的迭代器,不是最後一個元素
erase() 刪除集合中的元素
find() 返回一個指向被查找到元素的迭代器,若找不到返回your_set.end()
insert() 在集合中插入元素
size() 集合中元素的數目
jobdu--題目1555:重複子串
時間限製:3 秒內存限製:256 兆特殊判題:否提交:350解決:29
題目描述:
給定一個由小寫字母組成的字符串,求它的所有連續子串中,出現過至少兩次,且至少有一對出現的重複子串是不重合的連續子串個數。
如給定字符串aaaa,aa和a,符合條件,aaa不符合條件(出現重合),故答案為2。
輸入:
輸入包含多組測試用例,每組測試用例包含一個字符串,由小寫字母組成,其長度不大於1000。
輸出:
對於每組測試數據,輸出一個整數,代表符合條件的子串個數。
樣例輸入:
aaaa
aaa
樣例輸出:
2
1
來源:
2014年王道論壇計算機考研機試全真模擬考試
最後更新:2017-04-03 12:55:41