
程序员面试金典
zhourunan123
这个作者很懒,什么都没留下…
展开
-
程序员面试金典----原串翻转
请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。测试样例:"This is nowcoder"返回:"redocwon si sihT"class Reverse {public: string reverseStri...原创 2018-06-21 23:01:59 · 212 阅读 · 0 评论 -
程序员面试金典----翻转子串
假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:"Hello world","worldhello "返回:...原创 2018-06-21 23:18:56 · 186 阅读 · 0 评论 -
最大子数组之和
一个整数数组中的元素有正有负,在该数组中找出一 个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。比如数组{2,4,-7,5,2,-1,2,-4,3}的最大连续子数组为{5,2,-1,2},最大连续子数组的和为5+2-1+2=8。问题输入就是一个数组,输出该数组的“连续子数组的最大和”方法一:枚举法枚举所有的子数组并求出他们的和,长度为n的数组,有n(n...原创 2018-08-31 19:30:37 · 498 阅读 · 0 评论 -
二分查找总结
1.二分查找又称折半查找2.优点:比较次数少;查找速度快;平均性能好3.缺点:待查表为有序数组(若为无序数组,分成两份查找无意义,排序本身也耗费时间);插入删除困难(增删需要移动大量的节点)4.思想:在一个有序数组中,取数组的中间值与要查找的数进行比较;若要查找的数等于中间值,查找成功;若要查找的数大于中间值,则在右半区间继续取中间值与要查找的数进行比较;若要查找的数小...原创 2018-09-02 00:47:59 · 4454 阅读 · 0 评论