算法
dreamcarp
这个作者很懒,什么都没留下…
展开
-
1.1 旋转字符串
题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 js解法: function leftShiftOne(str, n) { var arr原创 2017-06-29 10:05:49 · 212 阅读 · 0 评论 -
1.2 字符串包含
题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短。请问,如何最快地判断字符串B中所有字母是否都在字符串A里? 为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数bool StringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true原创 2017-06-29 17:18:01 · 338 阅读 · 0 评论 -
1.3 回文判断
题目描述 回文,英文palindrome,指一个顺着读和反过来读都一样的字符串,比如madam、我爱我,这样的短句在智力性、趣味性和艺术性上都颇有特色,中国历史上还有很多有趣的回文诗。 那么,我们的第一个问题就是:判断一个字串是否是回文? js代码: function isPalindrome(a) { if (a == a.split("").reverse().j原创 2017-06-29 18:39:42 · 299 阅读 · 0 评论 -
1.4 最长回文子串
题目描述 给定一个字符串,求它的最长回文子串的长度。 js代码: function longestPalindrome(arr) { var max = 0, tmp; if (arr.length === 0) { return 0; } for(var i = 0; i i++) { for(var j = 0;原创 2017-06-30 11:23:28 · 255 阅读 · 0 评论