自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SundyGuo的博客

技术人生

  • 博客(27)
  • 收藏
  • 关注

原创 LeetCode 123. 买卖股票的最佳时机 III

最近刷LeetCode题目的一些思路,题目信息再来一题股票买卖给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)...

2018-07-25 18:27:36 641

原创 LeetCode 122. 买卖股票的最佳时机 II

最近刷LeetCode题目的一些思路,题目信息还是股票买卖的题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格...

2018-07-25 18:08:56 198

原创 LeetCode 121. 买卖股票的最佳时机

最近刷LeetCode题目的一些思路,题目信息竟然随机了一道炒股相关的题目,一起看看给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的...

2018-07-25 17:42:35 273

原创 LeetCode 762. 二进制表示中质数个计算置位

最近刷LeetCode题目的一些思路,题目信息给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)...

2018-07-25 17:09:43 258

原创 LeetCode 693. 交替位二进制数

最近刷LeetCode题目的一些思路,题目信息给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。示例 1:输入: 5输出: True解释:5的二进制数是: 101示例 2:输入: 7输出: False解释:7的二进制数是: 111示例 3:输入: 11输出: False解释:11的二进制数是: 10...

2018-07-25 16:48:09 378

原创 LeetCode 873. 最长的斐波那契子序列的长度

最近刷LeetCode题目的一些思路,题目信息如果序列 X_1, X_2, ..., X_n 满足下列条件,就说它是 斐波那契式 的:n >= 3 对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_{i+2}给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在,返回  0 。(回想一下,子序列是从原序列...

2018-07-24 10:53:35 2041

原创 LeetCode 875. 爱吃香蕉的珂珂

最近刷LeetCode题目的一些思路,题目信息珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。  珂珂喜欢慢慢吃,但仍然想在警卫回来前吃...

2018-07-22 15:16:58 4181

原创 LeetCode 874. 行走机器人模拟

最近刷LeetCode题目的一些思路,题目信息无限网格上的机器人从点 (0, 0) 处开始出发,面向北方。该机器人可以接收以下三种类型的命令:-2:向左转 90 度 -1:向右转 90 度 1 <= x <= 9:向前移动 x 个单位长度有一些网格方块被视作障碍物。 第 i 个障碍物位于网格点  (obstacles[i][0], obstacles[i][1])...

2018-07-22 15:08:18 1820

原创 LeetCode 872. 叶子相似的树

最近刷LeetCode题目的一些思路,题目信息考虑一个二叉树的所有叶子。这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,给定一个如上图所示的树,其叶值序列为 (6, 7, 4, 9, 8) 。如果两个二叉树的叶值序列相同,我们就认为它们是 叶相似的。如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,返回 true;否则返回 false 。...

2018-07-22 15:04:15 821 2

原创 LeetCode 565. 数组嵌套

最近刷LeetCode题目的一些思路,题目信息索引从0开始长度为N的数组A,包含0到N - 1的所有整数。找到并返回最大的集合S,S[i] = {A[i], A[A[i]], A[A[A[i]]], ... }且遵守以下的规则。假设选择索引为i的元素A[i]为S的第一个元素,S的下一个元素应该是A[A[i]],之后是A[A[A[i]]]... 以此类推,不断添加直到S出现重复的元素。示...

2018-07-19 14:27:50 793 1

原创 LeetCode 561. 数组拆分 I

最近刷LeetCode题目的一些思路,题目信息给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4)....

2018-07-18 16:40:33 278

原创 LeetCode 871. 最低加油次数

最近刷LeetCode题目的一些思路,题目信息汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃料。它每行驶 1 英里就会用掉 1 升汽油。...

2018-07-18 16:27:27 2097

原创 LeetCode 870. 优势洗牌

最近刷LeetCode题目的一些思路,题目信息给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。返回 A 的任意排列,使其相对于 B 的优势最大化。 示例 1:输入:A = [2,7,11,15], B = [1,10,4,11]输出:[2,11,7,15]示例 2:输入:A = [12...

2018-07-18 16:13:12 972 2

原创 LeetCode 869. 重新排序得到 2 的幂

最近刷LeetCode题目的一些思路,题目信息从正整数 N 开始,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。 示例 1:输入:1输出:true示例 2:输入:10输出:false示例 3:输入:16输出:true示例 4:输入:...

2018-07-18 16:02:31 439

原创 LeetCode 481. 神奇字符串

最近刷LeetCode题目的一些思路,题目信息神奇的字符串 S 只包含 '1' 和 '2',并遵守以下规则:字符串 S 是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串 S 本身。字符串 S 的前几个元素如下:S = “1221121221221121122 ......”如果我们将 S 中连续的 1 和 2 进行分组,它将变成:1 22 11 2 1 2...

2018-07-18 15:55:20 855

原创 LeetCode 868. 二进制间距

最近刷LeetCode题目的一些思路,题目信息给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1:输入:22输出:2解释:22 的二进制是 0b10110 。在 22 的二进制表示中,有三个 1,组成两对连续的 1 。第一对连续的 1 中,两个 1 之间的距离为 2 。第二对连续的 1...

2018-07-17 12:37:01 784

原创 LeetCode 866. 具有所有最深结点的最小子树

最近刷LeetCode题目的一些思路,题目信息给定一个根为 root 的二叉树,每个结点的深度是它到根的最短距离。如果一个结点在整个树的任意结点之间具有最大的深度,则该结点是最深的。一个结点的子树是该结点加上它的所有后代的集合。返回能满足“以该结点为根的子树中包含所有最深的结点”这一条件的具有最大深度的结点。 示例:输入:[3,5,1,6,2,0,8,null,null,7,4]输出:[2,7,...

2018-07-10 15:12:49 826

原创 LeetCode 868. 转置矩阵

最近刷LeetCode题目的一些思路,题目信息给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例 1:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]] 提示:1 <= ...

2018-07-10 15:06:13 315

原创 LeetCode 213. 打家劫舍 II

最近刷LeetCode题目的一些思路,题目信息你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [...

2018-07-04 18:25:32 417

原创 LeetCode 457. 环形数组循环

最近刷LeetCode题目的一些思路,题目信息给定一组含有正整数和负整数的数组。如果某个索引中的 n 是正数的,则向前移动 n 个索引。相反,如果是负数(-n),则向后移动 n 个索引。假设数组首尾相接。判断数组中是否有环。环中至少包含 2 个元素。环中的元素一律“向前”或者一律“向后”。示例 1:给定数组 [2, -1, 1, 2, 2], 有一个循环,从索引 0 -> 2 -> 3...

2018-07-04 17:20:15 1446

原创 LeetCode 721. 账户合并

最近刷LeetCode题目的一些思路,题目信息给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails 表示该帐户的邮箱地址。现在,我们想合并这些帐户。如果两个帐户都有一些共同的邮件地址,则两个帐户必定属于同一个人。请注意,即使两个帐户具有相同的名称,它们也可能属于不同的人,因...

2018-07-04 11:44:55 1506

原创 LeetCode 853. 车队

最近刷LeetCode题目的一些思路,题目信息N  辆车沿着一条车道驶向位于 target 英里之外的共同目的地。每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。车队 是...

2018-07-03 14:58:45 431

原创 LeetCode 623. 在二叉树中增加一行

最近刷LeetCode题目的一些思路,题目信息给定一个二叉树,根节点为第1层,深度为 1。在其第 d 层追加一行值为 v 的节点。添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左子树和右子树。将 N 原先的左子树,连接为新节点 v 的左子树;将 N 原先的右子树,连接为新节点 v 的右子树。如果 d 的值为 1,深度 d - 1 不...

2018-07-03 13:53:31 458

原创 LeetCode 862. 和至少为 K 的最短子数组

最近刷LeetCode题目的一些思路,题目信息返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。 示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出:-1示例 3:输入:A = [2,-1,2], K = 3输出:3 提示:1 <= A.length <=...

2018-07-03 10:40:17 2773

原创 LeetCode 861. 翻转矩阵后的得分

最近刷LeetCode题目的一些思路,题目信息有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。 示例:输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:...

2018-07-02 15:58:52 957

原创 LeetCode 860. 柠檬水找零

最近刷LeetCode题目的一些思路,题目信息在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false...

2018-07-02 12:33:41 286

原创 LeetCode 863. 二叉树中所有距离为 K 的结点

最近刷LeetCode题目的一些思路,题目信息给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2输出:[7,4,1]解释:所求结点为与目...

2018-07-02 12:28:23 2377

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除