摘要: 本篇文章和上一篇文章所采用思路同出一则,上文用到的方法大致可以总结为:“一次扫描,向左平移”。时间复杂度为O(N)。本次算法依然采用这种方法。当然本题还用到了“字符串hash”,这种方法也在不少算法中取得了四两拨千斤的效果。 阅读全文
posted @ 2013-08-09 00:07 进击的程序员 阅读(8434) 评论(0) 推荐(0) 编辑
摘要: 无论是在面试当中还是在项目当中,去除多余的空格都是十分常见的。所以面试官或者笔试当中这个题目问的还是比较多的。即字符串左边空格,右边空格,然户字符串中如果有几个空格则合并成一个空格。笔者在写一个命令行参数程序时,就觉得去除空格十分有用。 阅读全文
posted @ 2013-08-08 23:59 进击的程序员 阅读(10033) 评论(1) 推荐(2) 编辑
摘要: 最短字符串匹配算法,这道算法是基于前面算法的基础上将条件设置更严格了。基本上算法还是用之前那个算法,然后加上最小值判断。这2道题透漏一点信息,说明笔者平时缺乏思索,为做题而做题。没有学到举一而反三的本领。 阅读全文
posted @ 2013-08-08 23:44 进击的程序员 阅读(1721) 评论(3) 推荐(0) 编辑
摘要: 字符串系列第三个算法是求左旋字符串。顾名思义,就是将字符串循环左移n位, 此题也是笔试面试中常见。该题算法要求空间复杂度为O(1)。所以只能采用交换的技巧。另外本算法还用到了字符串hash的技巧 阅读全文
posted @ 2013-08-08 23:35 进击的程序员 阅读(1555) 评论(2) 推荐(0) 编辑
摘要: 字符串系列第二个算法是求连续最长数字串。在一个字符串中,截取最长数字串也很常见。这道题在各大公司的面试题中也是数见不鲜。主要是考察面试者的字符串处理功底。也考察了编程当中的字符串hash技巧。 阅读全文
posted @ 2013-08-08 22:20 进击的程序员 阅读(735) 评论(0) 推荐(1) 编辑