摘要: 数组面试题3:二维数组中的查找 面试题8:旋转数组的最小数字 面试题14:调整数组顺序使奇数位于偶数前面 面试题20:顺时针打印矩阵 面试题29:数组中出现次数超过一半的数字 面试题30:最小的k个数 面试题31:连续子数组的最大和 面试题33:把数组排成最小的数 面试题36:数组中的逆序对 面试题... 阅读全文
posted @ 2015-09-23 10:13 枯桃 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 什么是设计模式软件设计模式是可解决一类软件问题并能重复使用的软件设计方案。模式的核心思想是通过增加抽象层,把变化部分从那些不变部分里分离出来。如何学习设计模式在学习设计模式时,要思考一下几点:1> 动机:该模式用来解决什么样的特定设计问题?可以用来改进哪些不良设计?2> 解决方案:该模式解决不良设计... 阅读全文
posted @ 2015-09-03 13:07 枯桃 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 数组C/C++如何传递二维数组?字符串Manacher算法(最长回文子串)KMP算法(字符串匹配)数学相关素数筛法最大公约数(GCD)最小公倍数(LCM)其它技巧STL查找二分搜索算法排序内部排序汇总堆排序快速排序二路归并排序动态规划换钱的方法数(动态规划讲的很好)【面试】求数组元素(右-左)最大差... 阅读全文
posted @ 2015-08-12 10:26 枯桃 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、x、/ 四则运算符号。题目分析剑指Offer(纪念版)P237代码实现int Add(int num1, int num2){ int sum, carry; do { sum = num1 ^ num... 阅读全文
posted @ 2015-11-19 16:33 枯桃 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目描述0,1,…,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。题目分析剑指Offer(纪念版)P229约瑟夫(Josephuse)环问题我们使用模板库中的双向链表std:list来模拟一个环形链表。PS:向量vector 线性顺... 阅读全文
posted @ 2015-11-19 16:29 枯桃 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。题目分析剑指Offer(纪念版)P227代码实现bool IsContinuous(int* numbers, int length){ ... 阅读全文
posted @ 2015-11-19 16:21 枯桃 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如输入字符串"abcdefg"和数字2,该函数将返回左旋转2位得到的结果"cdefgab"。题目分析剑指Offer(纪念版)P220代码实现void Reverse(char *pBe... 阅读全文
posted @ 2015-11-19 16:14 枯桃 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student.",则输出"student. a am I"。题目分析剑指Offer(纪念版)P218两次翻转字符串代码实现void Reverse(char... 阅读全文
posted @ 2015-11-19 16:09 枯桃 阅读(176) 评论(0) 推荐(0) 编辑