这是悦乐书的第 330 次更新,第 354 篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第200题(顺位题号是859)。给定两个字母A和B的小写字母,当且仅当我们可以在A中交换两个字母以使结果等于B时返回true。例如: 输入:A =“ab”,B =“ba” 输出:t ...
分类:
其他好文 时间:
2019-05-10 09:28:10
阅读次数:
82
题目描述 一行N个位置1到N,机器人初始位置M,机器人可以往左/右走(只能在位置范围内),规定机器人必须走K步,最终到位置P。输入这四个参数,输出机器人可以走的方法数。 解题思路 DP 方法一:时间复杂度O(NK),空间复杂度O(NK) 方法二:时间复杂度O(NK),空间复杂度O(N) 方法一代码 ...
分类:
其他好文 时间:
2019-05-09 00:48:01
阅读次数:
181
题目描述 给定无序数组,每个值均为正数,再给定整数k。求arr中所有子数组中所有元素相加和为k的最长子数组长度。无则输出 1。 例: 输入 arr=[1,2,1,1,1],k=3 输出 3 解题思路 (时间复杂度O(N),空间复杂度O(1)) 维护指针l,r表示子数组区间。初始l=r=0,向右移动至 ...
分类:
编程语言 时间:
2019-05-09 00:34:07
阅读次数:
176
题目:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 ...
分类:
其他好文 时间:
2019-05-06 22:05:34
阅读次数:
140
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 空间复杂度o(0) 空间复杂度o(n) ...
分类:
其他好文 时间:
2019-05-06 11:45:49
阅读次数:
102
图的概念、存储及遍历 图是一种特殊的数据结构,由点和边构成,它可以用来描述元素之间的网状关系,这个网状没有顺序,也没有层次,就是简单的把各个元素连接起来。图在我们的生活中也十分常见,地图就是最简单的例子。 图的基本概念: 顶点集合为V,边集合为E的图记作G=(V,E)。另外,G=(V,E)的顶点数和 ...
分类:
其他好文 时间:
2019-05-05 21:55:04
阅读次数:
120
中心扩散法 我们观察到回文中心的两侧互为镜像。因此,回文可以从它的中心展开,并且只有 2n?1 个这样的中心。 你可能会问,为什么会是 2n?1 个,而不是 n 个中心?原因在于所含字母数为偶数的回文的中心可以处于两字母之间(例如“abba” 的中心在两个‘b’ 之间)。 时间复杂度 O(n^2), ...
分类:
其他好文 时间:
2019-05-04 18:59:58
阅读次数:
162
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? 解法一:先求出整个所需要的杨辉三角在返回具体行所在集合 public Lis... ...
分类:
其他好文 时间:
2019-05-03 16:39:05
阅读次数:
126
长度为 n 的数组里,所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 ...
分类:
编程语言 时间:
2019-05-02 23:23:12
阅读次数:
186
以下我说的排序算法都是说的从小到大排序 1.插入排序 插入排序是每次都确定一个数,在最差情况下,每次都需要遍历当前插入元素的前面所有元素,所以其时间复杂度为O(N^2),有一个哨兵位置,所以空间复杂度为O(1),插入排序是稳定的排序算法 2.冒泡排序 冒泡排序是每次都是从前到后的扫描,每次都把最大的 ...
分类:
编程语言 时间:
2019-05-02 11:25:10
阅读次数:
95