字符串面试题(一)字符串逆序
几点说明
1. 所有题目全部来自网络,书籍,或者我自己的面试经历,本人只是负责搜集整理。在此对原作者表示感谢!
2. 我已经尽力确保文字及程序的正确性,但我毕竟是凡人,如果您发现了文章中的错误,或者有更好的解法,请一定留言相告,以免误导大家!
3. 所有代码都采用C/C++编写
很早就准备写一个字符串系列的面试题,本来已经写好了,大概有十几道题,但是写完才发现,文章好长,连我自己都没有耐心读下去了
http://www.cyqdata.cn/cnblogs/article-detail-32427
PrintWordWarp & WordWarp[打印自动换行,字符串自动换行]
这两个方法是我今天在给一个客户做解决方案的时候想出来的,由于时间仓促,也没有进行细化,也就大概实现了一部分功能,有兴趣的朋友,可以完善下这两个方法,当然也希望在你完善之后也在此共享一下你的代码,使其能够帮助更多的人。
刚开始使用的代码编辑器不好看,结果想换一个,看到已经有这么多人浏览了,就没删除这篇文章重新上传,只是在live wirter上编辑好直接复制过来,但是没想到这个代码编辑器复制过来的没
http://www.cyqdata.cn/cnblogs/article-detail-32423
QT3.2版本QMessageBox字符串过长不能显示的bug修复
BUG描述:
QT3.2版本的QMessageBox有这样一个bug,就是当你传的参数足够长以至于你的屏幕不能显示的时候就会将字符串截断,剩下的字符串就无法显
示了,如果本身的字符串长度已知,那就很好办了,在字符串中间加换行符呗,但是很多时候这个字符串的长度
http://www.cyqdata.cn/cnblogs/article-detail-31866
【原】检测是否包含特定字符串的几种方法以及性能比较
对于一串字符串"abfeuiowqjiqopeuwqiopewq",检测其中是否包含特定字符串"oweu",我常用的方法如下:if (row.IndexOf(pattern) > -1)
以前从来没有想过这样有什么问题,但最近需要处理较大数据量的字符串,需要从各个方面考虑如何提高处理的效率,其中“检测是否包含特定字符串”也是重要的一环。
几种方法
在.Net 2.0之后,其实有更简洁的方法
http://www.cyqdata.cn/cnblogs/article-detail-31596
ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串
用户输入的字符串前后的空格会对程序造成很大的危害,最常见的问题就是查询和统计错误。作为严谨的开发人员,我们应该主动进行处理。 逐个 Trim 相当麻烦 .NET 中为我们提供了三个字符串处理函数,相信大家一定都用过:Trim、TrimStart、TrimEnd。 但在实际应用中,逐个 Trim 是相当麻烦的。我们来分析下,请看如下 Controller 及其 Model: public c
http://www.cyqdata.cn/cnblogs/article-detail-9282
由addClass衍生出来的字符串去重问题
现在先撇开性能不谈,就算是谈性能,也是把函数循环成千上万才看到几毫秒的差距,因此我才不管它呢。我首先考虑的是类库的大小,这就要求,不要才分膨胀其里的函数。
我在群里提出的问题是,要为一个className为"aaa eee bbb"的元素节点添加多两个类名,“aaa”,"ddd",如果让此实现尽可能的简单,不能用框架,不能用for循环。
经过一轮的跑题(主要如何用hash进行去重,总难免还是谈到性
http://www.cyqdata.cn/cnblogs/article-detail-8085
使用 SQL的 for xml path来进行字符串拼接
本篇主要讲怎么利用SQL的FOR XML PATH 参数来进行字符串拼接,FOR XML PATH的用法很简单,它会以xml文件的形式来返回数据。
我的讲解步骤:
1:构造初始数据
2:提出问题
3:简单介绍FOR XML PA
http://www.cyqdata.cn/cnblogs/article-detail-4605
.NET种Json时对单引号和特殊字符串的处理
在Asp.NET的Json处理中,通常会遇到使用单引号或其他特殊字符,如果直接使用,会截断Json数据,造成JS错误无法正确运行。
其实只要使用Javascript的escape方法编码字符串后就可以解决这个问题。
但是在C#代码中怎么解决这个问题呢?
我们自然就想到了使用Server.UrlEncode方法来编码数据,可是实践后发现编码后的有些字符在JS中无法被unescape方法
http://www.cyqdata.cn/cnblogs/article-detail-2816
第八回 字符串库(续)
原文在此: http://www.cnblogs.com/ixnehc/archive/2010/07/14/1777624.html 字符串库中在使用中还是有些问题的. 首先是字符串库中所有的字符串都是并列的关系,没有层次,导致在字符串库中查找某个字符会很不方便.所以需要一个归类的方法,所以我们在字符串库中引入了"组"的概念,我们可以把字符串库中的某些字符串标记为"组",表示这个字符串代表一个组,然后就可以为库里的其它字符串指定它们属于哪些组,像这样: 目前一个字符串可以属于多个组.组也可以属于另一个组 原文中提到过,当我们需要编辑一个字符串ID的值时,我们会为它指定一个语义,语义有两部分组成,一个预先定义好的code,和一个constraint字符串,我们可以在这个constraint字符串中传递一些编辑需要的额外信息.有了组的概念后,我们就可以
http://www.cyqdata.cn/cnblogs/article-detail-2141
[Hdu 2222] 字符串(三) {Aho-Corasick自动机}
{
继续介绍字符串的相关内容
这篇文章介绍Aho-Corasick自动机
}
Aho-Corasick自动机
用于解决 多模式串匹配 的问题
首先得了解 KMP算法和Trie树的相关理论
先看一个具体的问题
Hdu 2222 http://acm.hdu.edu.cn/showproblem.php?pid=2222
题意 给定N个模式串 统计在一个长为M的主串里出现了多少个模式串
KMP算法可以做 复杂度为O(MN)
结合KMP算法和Trie树 AC自动机可以很好的解决这个问题
AC自动机的第一步是把所有模式串建成一个Trie
比如有模式串{SHE SHR SAY HE HR HER}
第一步.建立相应的Trie
Trie_Build
Code highlighting produced by Actipro CodeHighlighter (freewar
http://www.cyqdata.cn/cnblogs/article-detail-185