机器人的运动范围
摘要:题目:地上有一个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每次可以向左,右,上,下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7=18.但它不能进入方格(35,38),因为3+5+3+8=19.请问
阅读全文
矩阵中的路径
摘要:题目:设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵的任意一格开始,每一步可以在矩阵中向左右上下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如在下面的3×4的矩阵中包含一条字符串“bcfe”的路径,但矩阵中不包含“abfb”的路
阅读全文
斐波那契数列求解的三种方法
摘要:题目:求菲波那切数列的第n项 1.递归:剑指offer代码 2.DP/循环实现:剑指offer代码:O(n) 3.特殊公式但不太实用O(logn):剑指offer代码 公式: 所以求得矩阵的n-1次即可得到f(n) Ps:对应项相等 如果简单的从0到n来循环计算乘方复杂度还是O(n) 所以用此性质:
阅读全文
二叉树的下一个节点
摘要:题目:给定一个二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左,右孩子节点的指针,还有一个指向父节点的指针。 如果一个节点有右子树,那么它的下一个节点就是它的右子树中的最左子节点。即从右子节点出发一直沿着指向左子节点的指针,我们就能找到它的下一个节点 如果一个
阅读全文
替换空格
摘要:题目:请实现一个函数,把字符串中的每个空格替换成为“%20”。例如输入“We are happy”,则输出“We%20are%20happy.” 在网络编程中,如果URL参数中含有特殊字符,如空格,'#'等,则可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转
阅读全文
二维数组中的查找
摘要:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按从上到下递增的顺序排列。 完成一个函数,输入这样一个数组和一个整数,判断数组中是否有该整数。 首先选取数组中右上角的数字,如果该数字==要查找的数字,则查找结束。 如果该数字>要查找的数字,则剔除这一列;如果<,则剔除这一行。每次
阅读全文
不修改数组找出重复数字
摘要:题目:在一个长度为n+1的数组中,所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。 1.同样可以用O(n)的空间复杂度,用哈希方法 2.把1-n的数字从中间的数字m分为两部分,前面一半为1-m,后面一半为m+1-n。如果1-m的数字
阅读全文
数组中重复数字
摘要:题目:在长度为n的数组里的所有数字都在0-n-1的范围内,数组中某些数字是重复的,但不知道几个数字重复了。也不知道每个数字重复了几次。找出数组中任意一个重复的数字。 1.数组用O(nlogn)排序,然后找出重复数字 2.哈希表 时间和空间都为O(n) 3.从头到尾扫描数组,当扫描到下标为i的数字时,
阅读全文