
leetcode
风清扬_gyx
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode每天五题-03
搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,...原创 2019-04-05 22:08:00 · 212 阅读 · 0 评论 -
Leetcode每天五题-10
滑动窗口最大值给定一个数组 nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]class Solution(object): def maxSlidin...原创 2019-04-16 15:32:08 · 244 阅读 · 0 评论 -
Leetcode每天五题II-02
两数相除给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。示例 1:输入: dividend = 10, divisor = 3输出: 3示例 2:输入: dividend = 7, divisor = -3输出: -2class Solutio...原创 2019-04-27 19:42:24 · 179 阅读 · 0 评论 -
Leetcode每天五题II-01
整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。c...原创 2019-04-23 15:13:28 · 162 阅读 · 0 评论 -
Leetcode每天五题II-03
填充每个节点的下一个右侧节点指针struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例:class Solution(object)...原创 2019-05-04 19:53:37 · 204 阅读 · 0 评论 -
Leetcode每天五题II-04
寻找峰值峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。...原创 2019-05-04 19:55:08 · 428 阅读 · 0 评论 -
Leetcode每天五题II-05
快乐数编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。不是快乐数的数称为不快乐数(unhappy number),所有不快乐数的数位平方和计算,最後都会进入 4 → 16 → 37 → 58 → 89 ...原创 2019-05-15 16:56:34 · 245 阅读 · 0 评论 -
Leetcode每天五题II-06
常数时间插入、删除和获取随机元素设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。insert(val):当元素 val 不存在时,向集合中插入该项。remove(val):元素 val 存在时,从集合中移除该项。getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。map+setclass RandomizedSet(object)...原创 2019-05-15 16:57:45 · 332 阅读 · 0 评论 -
Leetcode每天五题II-07
数据流的中位数有一个数据流,设计一种数据结构,在任意时刻,找到其中的中位数。1.用两堆的实现方法 static class MedianFinder { PriorityQueue<Integer> minHeap; PriorityQueue<Integer> maxHeap; public MedianFinder() { minHeap...原创 2019-05-29 14:47:29 · 291 阅读 · 0 评论 -
Leetcode每天五题-06
对称二叉树给定一个二叉树,检查它是否是镜像对称的。如果你可以运用递归和迭代两种方法解决这个问题,会很加分。class Solution { public static boolean isSymmetric(TreeNode root) { if (root == null) return true; return isSymmetric(root.left, root....原创 2019-04-09 14:24:42 · 236 阅读 · 0 评论 -
Leetcode每天五题-09
数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。备注:...原创 2019-04-15 18:56:56 · 156 阅读 · 0 评论 -
Leetcode每天五题-07
二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [-10,9,20,null,null,15,7]输出: 42class Solution { /** 对于任意一个...原创 2019-04-10 21:29:00 · 143 阅读 · 0 评论 -
Leetcode每天五题-04
字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。备注:思路就是对...原创 2019-04-06 22:46:54 · 170 阅读 · 0 评论 -
leetcode解题记录
写一个帖子用来记录在leetcode上的刷题情况,只适用于笔者自己,因为只会记录题目和代码,不会详细分析。Leetcode每天五题-01原创 2019-04-01 19:47:29 · 464 阅读 · 0 评论 -
Leetcode每天五题-01
1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思...原创 2019-04-01 19:50:10 · 361 阅读 · 0 评论 -
Leetcode每天五题-05
颜色分类给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。...原创 2019-04-07 22:40:34 · 226 阅读 · 0 评论 -
Leetcode每天五题-02
19.删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路:一个指针先走n-1步,然后两个指针一起...原创 2019-04-02 19:31:29 · 144 阅读 · 0 评论 -
Leetcode每天五题-08
相交链表编写一个程序,找到两个单链表相交的起始节点。思路:求出每个链表的长度,长的那个先走几步,然后一起走,遇到相等就停步class Solution(object): def getIntersectionNode(self, headA, headB): node = headA len_a = 0 len_b = 0 ...原创 2019-04-12 08:36:42 · 138 阅读 · 0 评论 -
遗留问题-1
无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无...原创 2019-06-22 15:03:42 · 377 阅读 · 0 评论