
剑指offer
Basil_
这个作者很懒,什么都没留下…
展开
-
剑指offer(1-10)
1:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:将target与二维数组array第一行最后一个数做比较,如果target大于该行数,则不考虑第一行,相反不考虑最后一列,相等返回true; 2:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字原创 2016-07-22 21:51:10 · 292 阅读 · 0 评论 -
剑指offer(11-20)
10.我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路:依旧是斐波那契数列 代码: public class Solution { public int RectCover(int target) { if(target<=3) return原创 2016-08-28 15:46:49 · 416 阅读 · 0 评论 -
剑指offer(21-30)
21.输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 思路:借用一个辅助的栈,遍历压栈顺序,先讲第一个放入栈中,这里是1,然后判断栈顶元素原创 2016-08-28 16:07:27 · 604 阅读 · 0 评论 -
剑指offer(31-40)
31.求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 思路: 代码: public class Solution { public int N原创 2016-08-28 16:14:45 · 523 阅读 · 0 评论 -
剑指offer(41-50)
41.小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述: 输出所有和为S的连续正原创 2016-08-28 16:26:26 · 561 阅读 · 0 评论 -
剑指offer(51-60)
51.请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 代码: import java.util.ArrayList; public cla原创 2016-08-28 16:46:39 · 485 阅读 · 0 评论