上一页 1 2 3 4 5 6 7 8 9 10 ··· 26 下一页
摘要:一、题目 1、审题 2、分析 给出一棵二分查找树,求出其中第 k 小的节点数值。 二、解答 1、思路 方法一、 使用 Stack 进行中序遍历。若常访问,则可以采用一个 List 存储。 方法二、 采用二分查找。 ①、先统计左子树长度 m,若 k < m + 1,则要查找的元素在左子树中。 ②、若 阅读全文
posted @ 2018-11-08 11:43 skillking2 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个整形数组,统计其中元素出现次数超过数组长度 1/3 的元素。 二、解答 1、思路 方法一、 采用一个 Map 统计元素出现的次数。 方法二、 Boyer-Moore majority vote algorithm(摩尔投票算法) 这是一种在线性时间O(n)和空间 阅读全文
posted @ 2018-11-07 21:19 skillking2 阅读(36) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出一个有序的无重复的整形数组,返回一个描述数组‘概要’的字符串 List。 二、解答 1、思路 方法一、 采用两个指针记录前后的元素是否连续。 方法二、 直接以当前元素为每一个组合的起始,求出每一个组合。 阅读全文
posted @ 2018-11-07 20:21 skillking2 阅读(47) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出包含 +、-、*、/ 以及空格、数字的正确的数学计算式,求出其正确答案。 二、解答 1、思路 新建一个栈,存放所有的带符号的数值,其中 出现 +、- 号时作为下一个数值的符号; 当出现 * / 号时,从栈中出栈一个数值与下一个数值进行运算后入栈。 最终将栈中所有数值 阅读全文
posted @ 2018-11-07 17:16 skillking2 阅读(55) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出字符串表示的包含有 +、-、( 、) 运算符以及空格、数字的整形运算,求出其结果。 二、解答 1、思路 循环遍历 S 中的字符 c: ①、当 c == 数字:将与其相邻的数字组合成整数。 ②、当 c == ‘+’ : 前一个操作数输入完毕,开始新的运算,且为加法运算 阅读全文
posted @ 2018-11-07 15:47 skillking2 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求一棵完全二叉树的节点个数。 二、解答 1、思路 方法一、 将二叉树将 root 节点分为左右两颗子树。 ①、若右子树的高度 小于 左子树的高度,则此完全二叉树的最后一个节点落于 左子树,则右子树是一棵高度为 h - 2 的完全二叉树; 节点数等于 1 << h - 2 阅读全文
posted @ 2018-11-05 21:32 skillking2 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 给出二维空间中两个矩形的坐标,求这两个矩阵的总面积。(注意重叠部分) 二、解答 1、思路 首先计算两个矩阵s1, s2 的面积,在计算重叠部分的面积。 重叠部分,可能是 s1 与 s2 的包含关系,或者部分包含、或者矩阵 s1 为一个点。 阅读全文
posted @ 2018-11-05 16:44 skillking2 阅读(28) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 求出只包含字符 0 、 1 的二维矩阵中的 1 形成的最大正方形的面积 二、解答 1、思路: 方法一、 动态规划,采用二维数组 dp[][],dp[i][j] 表示在位置 [i][j] 作为右下角顶点所形成的正方形的最大边长。 动态规划方程为: if(matrix[i] 阅读全文
posted @ 2018-11-04 20:55 skillking2 阅读(63) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 判断数组中是否存在两个元素之差在 t 之内,且此两个元素下标之差在 k 之内。 二、解答 1、思路: 方法一、 桶排序 ①、采用 Map ,key 记录桶的序号,value 记录元素的值。每个桶的元素个数为 t + 1, eg t=3,则桶大小为 4, 元素 0、1、2 阅读全文
posted @ 2018-11-03 22:23 skillking2 阅读(60) 评论(0) 推荐(0) 编辑
摘要:一、题目 1、审题 2、分析 判断数组中是否存在两个值相同的元素,下标之差 <= k 二、解答 1、思路: 使用 Set 将数组的前 k 个元素添加入 Set,若有添加失败情况,则返回 true; 之后每次将 set 中的前面第 i - k - 1 个元素从 Set 中去除,并添加入新的元素,若添加 阅读全文
posted @ 2018-11-03 21:22 skillking2 阅读(37) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 26 下一页