摘要: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 阅读全文
posted @ 2019-04-26 21:09 Dilthey 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。 假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃 阅读全文
posted @ 2019-04-26 19:35 Dilthey 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 假定 $f[n]$ 表示有 $n$ 个节点的二叉树,有多少种不同结构。 因此 $f[n] = \sum_{i=0}^{n-1} (f[i] \times f[n-1-i])$,选一个节点作为根节点,那么剩下的 $n-1$ 个节点,分配到两棵子树。 AC代码: 阅读全文
posted @ 2019-04-26 17:52 Dilthey 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶 示例 2: 输入: 3输出: 3解释: 有三种 阅读全文
posted @ 2019-04-26 17:35 Dilthey 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。 编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。 示例 1: 输入: nums = [2,5,6,0,0 阅读全文
posted @ 2019-04-26 17:10 Dilthey 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O 阅读全文
posted @ 2019-04-26 12:48 Dilthey 阅读(547) 评论(0) 推荐(0) 编辑