摘要:
题目描述 请实现一个函数用来匹配包括'.'和'\ '的正则表达式。模式中的字符'.'表示任意一个字符,而'\ '表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab\ ac\ a"匹配,但是与"aa.a"和"ab 阅读全文
摘要:
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0,同时不需要考虑大数问题(不会溢出)。 思路1 因为不会溢出,可以直接使用循环相乘来求解。当指数(exponent)为整数时,直接返回结果; 阅读全文
摘要:
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路1 可以先判断该整数对应的二进制最右一位是不是1,判断方法为将整数的二进制和1做与运算(&),如果整数二进制的最右一位是1,则与运算结果为1,否则为0。将整数二进制最右一位进行判断后右移一位( ),直至整数为0。但这种方 阅读全文
摘要:
问题描述 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n 1并且m 1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是 阅读全文
摘要:
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路 根据定义, 阅读全文
摘要:
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路 当台阶为1级时,共1种方法;当为2级时,共2种方法;当为3级时,共3中方法。以此类推,有n级台阶时,共f(n)=f(n 1)+f(n 2), n 2, f(1) = 阅读全文
摘要:
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 思路1 使用递归。 但由于这个问题的递归的时间复杂度为指数(O(2^n)),牛客网上没有通过。 思路2 使用循环。 代码如下: 阅读全文
摘要:
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 假设有两个栈stack1和stack2。我们向stack1中依次压入3个元素:a,b,c。队列是先进先出的,所以我们想让a先出栈,但此时c在栈顶。这时可以利用另一个栈stack2,将stack1中的 阅读全文
摘要:
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路1 二叉树的中序遍历顺序为:左孩子,根,右孩子。而一个节点也只会有3种情况:该节点是其父节点的左孩子;该节点是其父节点的右孩子;该节点无父节点,是根节 阅读全文
摘要:
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路 在二叉树的前序遍历序列中,第一个值总是二叉树的 阅读全文