算法
skymhzh
这个作者很懒,什么都没留下…
展开
-
剑指offer(java版)面试题13:机器人的运动范围
题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路:1.使用二维数组记录方格信息,true:机...原创 2018-04-15 18:11:47 · 196 阅读 · 0 评论 -
剑指offer(java版)面试题3:数组中重复的数字
题目一:找出数组中重复的数字在一个长度为n的数组里的所有数字都在0~n-1的范围内,数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复了几次,请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或3。思路:方法1.使用Map记录每个数字出现的次数,时间复杂度O(n),空间复杂度O(0),不是最优解方法2.判断...原创 2018-04-14 22:00:49 · 166 阅读 · 0 评论 -
剑指offer(java版)面试题12:矩阵中的路径
题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了...原创 2018-04-15 21:25:49 · 320 阅读 · 3 评论 -
剑指offer(java版)面试题54:二叉搜索树的第k个结点
题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。思路:感觉题目描述有歧义,应该说是从小到大排序后找出第k个节点。二叉搜索树的性质:左<中<右,因此可以使用中序遍历。找到第k个节点时,返回。1.遍历左子树,如果左子树的节点个数>=k,要找的节点就在左子树中2.如果左子树返回nul...原创 2018-04-18 00:24:16 · 236 阅读 · 0 评论