随笔分类 -  leetcode

摘要:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 示例 2: 示例 3: 阅读全文
posted @ 2018-11-11 16:03 吃鱼尾的咩 阅读(256) 评论(0) 推荐(0)
摘要:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 示例 2: 阅读全文
posted @ 2018-11-11 15:41 吃鱼尾的咩 阅读(167) 评论(0) 推荐(0)
摘要:在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。 至少有一个空座位,且至少有一人坐在座位上。 亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。 返回他到离他最近的人的最大距离。 示例 1: 示例 2: 提示: 思路:考虑特殊的比如[0,0,1,0, 阅读全文
posted @ 2018-11-11 01:43 吃鱼尾的咩 阅读(134) 评论(0) 推荐(0)
摘要:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 示例 2: 示例 3: 阅读全文
posted @ 2018-11-11 00:12 吃鱼尾的咩 阅读(144) 评论(0) 推荐(0)
摘要:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 示例 2: 阅读全文
posted @ 2018-11-10 19:02 吃鱼尾的咩 阅读(133) 评论(0) 推荐(0)
摘要:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现 阅读全文
posted @ 2018-11-10 17:05 吃鱼尾的咩 阅读(545) 评论(0) 推荐(0)
摘要:我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0): 示例 : 阅读全文
posted @ 2018-11-09 23:41 吃鱼尾的咩 阅读(175) 评论(0) 推荐(0)
摘要:给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。 说明:不要使用任何内置的库函数,如 sqrt。 示例 1: 示例 2: 阅读全文
posted @ 2018-11-09 23:07 吃鱼尾的咩 阅读(143) 评论(0) 推荐(0)
摘要:给定一个未经排序的整数数组,找到最长且连续的的递增序列。 示例 1: 示例 2: 注意:数组长度不会超过10000。 思路: 用一个变量记录当前最长递增数列的长度,如果下个元素不是递增序列元素则 更新 maxlength为当前最长递增序列的长度 阅读全文
posted @ 2018-11-09 19:11 吃鱼尾的咩 阅读(239) 评论(0) 推荐(0)
摘要:如果数组是单调递增或单调递减的,那么它是单调的。 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。 当给定的数组 A 是单调数组时返回 true,否则返回 false。 示例 1: 阅读全文
posted @ 2018-11-09 18:48 吃鱼尾的咩 阅读(190) 评论(0) 推荐(0)
摘要:给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。 你可以返回满足此条件的任何数组作为答案。 示例: 提示: 思路: 同时从头尾开始遍历, 目前 beat 100% 阅读全文
posted @ 2018-11-09 18:28 吃鱼尾的咩 阅读(109) 评论(0) 推荐(0)
摘要:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 示例 2: 示例 3: 提示: 思路:这是一道简单难度的题目, 从头尾同时遍历 两者同时是字母,则交换,否则不是字母的一方索引递增或递减 ,见代码 目前 beat 100% 阅读全文
posted @ 2018-11-09 15:17 吃鱼尾的咩 阅读(116) 评论(0) 推荐(0)
摘要:给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。 示例: 提示: 遍历的时候注意 遍历前i一定是奇数,j一定是偶数,所以进行跳跃式的遍历。 阅读全文
posted @ 2018-11-09 14:57 吃鱼尾的咩 阅读(162) 评论(0) 推荐(0)
摘要:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。 示例 1: 示例 2: 示例 3: 示例 4: 思路:这 阅读全文
posted @ 2018-11-09 13:58 吃鱼尾的咩 阅读(111) 评论(0) 推荐(0)
摘要:每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。 除了小写字母,这些电子邮件还可能包含 ',' 或 '+'。 如果在电子邮件地址的本地名称部分中的某些字符之间添加句点(' 阅读全文
posted @ 2018-11-09 13:01 吃鱼尾的咩 阅读(243) 评论(0) 推荐(0)
摘要:写一个 RecentCounter 类来计算最近的请求。 它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。 返回从 3000 毫秒前到现在的 ping 数。 任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 p 阅读全文
posted @ 2018-11-09 01:50 吃鱼尾的咩 阅读(205) 评论(0) 推荐(0)