ACM-字符串
Kang_TJU
Talk is cheap!
展开
-
leetcode-14-Longest Common Prefix
问题题目:[leetcode-14]思路思路不难,和上一道题目不多。反正都是枚举子串。 注意前缀的定义,从首部开始的子串。必须要包含首部。比如abcd,前缀有ϵ\epsilon,a,ab,abc,abcd. 思路就是:所有子串的首部同时开始判断,如果有一个不相等。结束。代码/*前缀只能从首部开始,所以枚举所有子串的首部即可.*/class Solution {public: str原创 2016-12-26 11:13:26 · 409 阅读 · 0 评论 -
leetcode-459-Repeated Substring Pattern
问题题目:[leetcode-459]思路没有别的办法,枚举所有的周期长度。这题我在白书里面看到过,所以直接就做了。代码class Solution {public: bool repeatedSubstringPattern(string s) { int sz = s.size(); int len = sz/2; while(len)原创 2017-02-23 22:52:04 · 374 阅读 · 0 评论 -
leetcode-5-Longest Palindromic Substring 动态规划
问题题目:[leetcode-5]思路朴素的思路,暴力法。但是考虑从较长的串开始枚举。不过还是TLE.代码/*这次我还是暴力,但是从大串向小串枚举。之前的枚举思路导致TLE,这次的可能也导致。试试吧。*/class Solution {public: string longestPalindrome(string s) { int sz = s.size();原创 2016-12-28 12:39:18 · 940 阅读 · 0 评论 -
leetcode-409-Longest Palindrome
问题题目:[leetcode-409]思路这个题也是思路要清晰,没有什么固定的算法。但是做起来要小心。记录每个字母出现次数判断: 出现偶数次,累加次数出现奇数次,累加次数-1最后,如果出现过奇数次,可以多加一个字符代码class Solution {public: int longestPalindrome(string s) { int sz = s.size原创 2017-01-20 18:51:01 · 374 阅读 · 0 评论 -
leetcode-242-Valid Anagram
问题题目:[Valid Anagram]思路排序跟哈希都可以,注意,长度不同直接返回就好。代码class Solution {public: bool isAnagram(string s, string t) { if( s.size() != t.size() ) return false; sort(s.begin(), s.en原创 2017-01-21 01:10:02 · 312 阅读 · 0 评论 -
leetcode-383-Ransom Note
问题题目:[leetcode-383]思路哈希表记录一下。代码class Solution {public: bool canConstruct(string ransomNote, string magazine) { int hash[128]; std::memset( hash, 0, sizeof(hash) ); int sz_m原创 2017-01-13 16:05:14 · 253 阅读 · 0 评论 -
leetcode-344- Reverse String
问题题目:[Reverse String]思路回文。代码class Solution {public: string reverseString(string s) { return std::string( s.rbegin(), s.rend() ); }};原创 2016-12-16 18:09:22 · 401 阅读 · 0 评论 -
leetcode-6-ZigZag Conversion
题目题目:[leetcode-6]思路这个题目的思路是把旧串的位置映射到新串的位置,把位置怎么走的,画个图就出来了。这个题目不难。 但是,我就想强调一点。做的时候,别着急,把思路理清楚了去做。不就很快出来了。一步一步来代码/*思路:这个题目的思路。旧串的位置映射到新串的位置。做的时候,别着急,把思路理清楚了去做。不就很快出来了。一步一步来嘛。*/class Solution {pub原创 2016-12-22 17:31:15 · 404 阅读 · 0 评论 -
leetcode-3-LongestSubstringWithoutReaptingCharacters
问题题目:[leetcode-3]思路暴力法。枚举所有子串。按行枚举。 枚举以s[i]为头的所有子串,如果当前子串存在重复元素,跳出。i = i + 1; 注意hash表的清空操作。代码class Solution {public: int lengthOfLongestSubstring(string s) { int sz = s.size(); i原创 2016-12-25 21:10:15 · 430 阅读 · 0 评论 -
poj-2046-循环子串问题
问题题目:[poj-2046]思路这个题目有个结论: 若s存在循环子串,当且仅当,len可以被len - prefix[len-1]整除。连接次数为len / len-prefix[len-1]. 充分性我不会证明,我就证明下必要性吧。 不放假设s = pattern * n; len = strlen(s); 显然prefix[ len - 1 ] = pattern*(n-1),这个是最原创 2017-08-19 21:56:18 · 652 阅读 · 0 评论