
算法
nosmatch
这个作者很懒,什么都没留下…
展开
-
算法:反转一个C风格的字符串
分析:C风格的字符串是以'\0'结尾的字符串,例如"abcdefg"的长度是其实为"abcdefg\0",长度为8;原创 2013-07-15 22:58:20 · 939 阅读 · 0 评论 -
算法:字符串字符重复问题
题目:实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。(即只使用基本的数据结构)分析:对于字符串的组成不确定,是ASCII码还是英语的26个字母,对于不同的组成可能有不同的处理方法,本题目可以设置一个数组组用每个元素的真假来标记在字符串中是否出现过该元素。情况1.字符串是由26个英文字母组成,其中大小写不敏感情况2.字符串是由AS原创 2013-07-14 11:16:53 · 1503 阅读 · 0 评论 -
算法:编写算法移除一个字符串中重复的字符
题目:设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意:可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。分析:方法有很多种,这里主要是对字符串中的每个字符与它前面出现过的所有字符进行比较,如果前面出现过就把这个字符删除掉代码如下:从上面的代码可以看出算法的时间复杂度为o(n*n);这里要求的是不能申请额外的空间,否则可以申请原创 2013-07-16 23:06:12 · 1829 阅读 · 0 评论 -
算法:判断两个字符串是否是变位词
题目:判断两个字符串是否是变位词分析:所谓变位词是指的连个字符串组成的字符是相同的,但是字符的位置是可以不同的,例如:qwerte和eetrwq这两个字符串就是变位词,如果对空间的要求不高则可以建立一个256大小的数组分别映射到ASCII的每一个字符,对前一个字符串遍历在每个字符出现加1,后面字符串中遍历,每个字符出现减1,最后检测数组是否为空,如下:如果对空间有要求,则我原创 2013-07-17 23:22:36 · 2190 阅读 · 0 评论