LeetCode
JeremyChan1887
这个作者很懒,什么都没留下…
展开
-
leetcode 695. Max Area of Island(岛屿的最大面积)
https://leetcode.com/problems/max-area-of-island/一、问题描述给定一个二维数组,其所有元素均为1和0,分别代表陆地和水,数组边界四周都是水,求岛屿最大面积。测试用例:Input:[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,1,1,0,1,0,0,0,0,0,0,0,0], [0,1,0,0,1,1,0,0,1,0,1,0,0], [0,1,0..原创 2020-09-03 11:18:52 · 228 阅读 · 0 评论 -
leetcode 733. Flood Fill
https://leetcode.com/problems/flood-fill/一、问题描述给定一个二维数组以及一个坐标,将其置为新的值,并且将由该坐标可到达的、与其值相同的所有元素重置为新的值。测试用例:Input:image = [[1,1,1],[1,1,0],[1,0,1]]sr = 1, sc = 1, newColor = 2Output:[[2,2,2],[2,2,0],[2,0,1]]二、代码实现class Solution { ...原创 2020-09-03 10:53:01 · 117 阅读 · 0 评论 -
leetcode 130. Surrounded Regions(被围绕的区域)
https://leetcode.com/problems/surrounded-regions/一、问题描述给定一个元素均为'O'和'X'的二维数组,将内部的'O'重置为'X',边界上的'O'保持不变。测试用例:Input:X X X XX O O XX X O XX O X XOutput:X X X XX X X XX X X XX O X X二、代码实现首先,遍历四条边界,如果当前元素是'X',直接continue;如果当前元素是'O'...原创 2020-09-03 10:24:02 · 202 阅读 · 0 评论 -
leetcode 200. Number of Islands(岛屿的数量)
https://leetcode.com/problems/number-of-islands/一、问题描述给定一个二维数组,其元素均为'1'和'0',分别代表陆地和水,现在要计算数组中岛屿的数量。被水包围的就是岛屿,此外,数组的四条边界均被水包围。PS:某司的校招机试也出了这道题,该题反过来求一块有水有陆地的地域中湖泊的数量,解法完全一样。测试用例:Input: grid = [ ["1","1","1","1","0"], ["1","1","0","1",..原创 2020-09-02 22:10:56 · 252 阅读 · 0 评论 -
leetcode 20. Valid Parentheses
https://leetcode.com/problems/valid-parentheses/给定一个包含字符'(', ')', '{', '}', '[', ']'的字符串,判断它是否合法,即括号是否正确匹配。注意空字符串也是合法的。一、问题分析测试用例:Example 1:Input: "()"Output: trueExample 2:Input: "()...原创 2020-03-23 18:32:01 · 114 阅读 · 0 评论 -
leetcode 24. Swap Nodes in Pairs
目录一、问题描述二、代码实现1、独立处理第一组节点2、引入伪头节点使得处理形式统一起来3、递归版本https://leetcode.com/problems/swap-nodes-in-pairs/将单链表每两个节点互换位置。注意不能只改变节点的值,节点必须实实在在地进行交换。一、问题描述测试用例:Example:Given 1->2...原创 2020-03-23 01:36:49 · 175 阅读 · 0 评论 -
leetcode 92. Reverse Linked List II
https://leetcode.com/problems/reverse-linked-list-ii/将链表从m到n的位置反转,链表的位置从1记起,1<=m<=n<=链表长度一、问题描述测试用例:Example:Input: 1->2->3->4->5->NULL, m = 2, n = 4Output: 1->...原创 2020-03-23 00:42:31 · 162 阅读 · 0 评论 -
leetcode 206. Reverse Linked List
目录一、问题分析二、代码实现1、迭代版本2、递归版本https://leetcode.com/problems/reverse-linked-list/反转单链表一、问题分析测试用例:Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->...原创 2020-03-22 20:56:44 · 239 阅读 · 0 评论 -
leetcode 599. Minimum Index Sum of Two Lists
目录一、问题描述二、代码实现1、暴力法2、使用HashMaphttps://leetcode.com/problems/minimum-index-sum-of-two-lists/从两个人喜欢的餐厅列表中找到共同喜欢并下标之和最小的餐厅(如果有多个则将它们都返回)一、问题描述测试用例:Example 1:Input:["Shogun", "T...原创 2020-03-11 18:31:07 · 182 阅读 · 0 评论 -
leetcode 160. Intersection of Two Linked Lists
目录一、问题描述二、代码实现1、常规解法2、最佳解法https://leetcode.com/problems/intersection-of-two-linked-lists/找到两个单链表(链表不存在环)交叉的第一个节点,要求时间O(n),空间O(1),同时不能改动链表的原有结构。一、问题描述测试用例:Input: intersectVal...原创 2020-03-11 10:35:28 · 228 阅读 · 0 评论 -
leetcode 142. Linked List Cycle II
目录一、问题描述二、代码实现1、使用Set2、双指针法(快慢指针)https://leetcode.com/problems/linked-list-cycle-ii/给定一个可能存在环的链表,返回链表中环的入口点。要求空间复杂度为O(1),同时注意不能改动链表。一、问题描述测试用例:Example 1:Input: head = [3,2,0...原创 2020-03-09 22:48:36 · 125 阅读 · 0 评论 -
leetcode 141. Linked List Cycle
https://leetcode.com/problems/linked-list-cycle/给定一个链表,判断它是否存在环一、问题描述测试用例:Example 1:Input: head = [3,2,0,-4], pos = 1Output: trueExplanation: There is a cycle in the linked list, where...原创 2020-03-09 21:22:50 · 171 阅读 · 0 评论 -
leetcode 287. Find the Duplicate Number
目录一、问题描述二、代码实现1、桶排序2、环检测https://leetcode.com/problems/find-the-duplicate-number/给定一个元素值在[1, n]范围内、长度为n+1的数组(特性:至少有一个数字重复出现),假设只有一个重复数字,找到该数字。一、问题描述测试用例:Example 1:Input: [1,3,...原创 2020-03-09 21:01:12 · 221 阅读 · 0 评论 -
leetcode 448. Find All Numbers Disappeared in an Array
目录一、问题描述二、代码实现思路一思路二https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/给定一个元素值在[1, n]范围的长度为n的整数数组,其元素有的出现两次有的出现一次,找到[1, n]区间中所有没有在数组中出现的元素。要求时间O(n),空间O(1),空间不包括返回的列表...原创 2020-03-07 22:00:44 · 286 阅读 · 0 评论 -
leetcode 41. First Missing Positive
https://leetcode.com/problems/first-missing-positive/给定一个未排序的数组,找到缺失的最小正整数,要求时间O(n),空间O(1)一、问题描述测试用例:Example 1:Input: [1,2,0]Output: 3Example 2:Input: [3,4,-1,1]Output: 2Example 3:...原创 2020-03-07 16:46:54 · 189 阅读 · 0 评论 -
leetcode 268. Missing Number
目录一、问题分析二、代码实现1、数学运算2、位运算https://leetcode.com/problems/missing-number/给定一个数组包含n个独一无二的元素,元素大小在[0, n]之间,求出数组中所缺失的那个整数,要求时间O(n),空间O(1)一、问题分析测试用例:Example 1:Input: [3,0,1]Output:...原创 2020-03-07 05:24:24 · 219 阅读 · 0 评论 -
leetcode 389. Find the Difference
目录一、问题描述二、代码实现1、桶排序2、异或法3、求和法https://leetcode.com/problems/find-the-difference/给定两个字符串,其中一个字符串是在另一个字符串的任意位置添加一个字母得到的,求这个字母一、问题描述测试用例:Example:Input:s = "abcd"t = "abcde"...原创 2020-03-07 04:52:17 · 206 阅读 · 0 评论 -
leetcode 260. Single Number III
目录一、问题分析二、代码实现1、排序2、位运算https://leetcode.com/problems/single-number-iii/给定一个数组,数组有两个元素只出现一次,其他所有元素均出现两次,找到这两个只出现一次的元素并返回,要求时间O(n),空间O(1)一、问题分析测试用例:Example:Input: [1,2,1,3,2,...原创 2020-03-06 23:04:23 · 179 阅读 · 0 评论 -
leetcode 137. Single Number II
https://leetcode.com/problems/single-number-ii/给定一个数组,该数组有一个元素只出现一次,其他元素均出现三次,找到这个只出现一次的元素,时间O(n),空间O(1)一、问题分析测试用例:Example:Input: [1,2,1,3,2,5]Output: [3,5]设其他元素有k个,则所有元素每个位上0的数量=3*m...原创 2020-03-05 16:56:57 · 189 阅读 · 0 评论 -
leetcode 136. Single Number
目录一、问题分析二、代码实现1、异或2、HashSet3、计数排序https://leetcode.com/problems/single-number/给定一个非空整数数组,该数组除了一个元素只出现一次之外,其他元素均出现两次,找到这个只出现一次的元素。要求时间O(n),空间O(1)一、问题分析测试用例:Example 1:Input: [...原创 2020-03-04 20:54:04 · 126 阅读 · 0 评论 -
leetcode 1046. Last Stone Weight
目录一、问题分析二、代码实现1、大顶堆2、桶排序https://leetcode.com/problems/last-stone-weight/给定一个石头的集合,每个石头的重量为正数,每次拿两个石头进行碰撞:若一样重,则不添加石头;若一轻一重,则添加两者重量之差的绝对值的石头。最终集合中最多只剩一个石头,如果剩余1个则返回其重量;如果没有石头则返回0一、问...原创 2020-03-01 23:00:02 · 298 阅读 · 0 评论 -
leetcode 147. Insertion Sort List
目录一、问题分析二、代码实现1、迭代版本2、递归版本https://leetcode.com/problems/insertion-sort-list/实现链表的插入排序一、问题分析测试用例:Example 1:Input: 4->2->1->3Output: 1->2->3->4Example 2:I...原创 2020-03-01 19:21:57 · 1611 阅读 · 0 评论 -
leetcode 148. Sort List
https://leetcode.com/problems/sort-list/对给定的链表进行排序,要求时间O(nlogn),空间O(1)。一、问题分析测试用例:Example 1:Input: 4->2->1->3Output: 1->2->3->4Example 2:Input: -1->5->3->4-...原创 2020-03-01 18:08:03 · 157 阅读 · 0 评论 -
leetcode 23. Merge k Sorted Lists
目录一、问题分析二、代码实现1、将第一个链表之外的所有链表分别与第一个链表合并2、采用类似归并排序迭代版本自底向上的写法3、小顶堆https://leetcode.com/problems/merge-k-sorted-lists/将k个有序链表合并成一个有序链表后返回一、问题分析测试用例:Example:Input:[ 1->...原创 2020-03-01 13:46:39 · 127 阅读 · 0 评论 -
leetcode 21. Merge Two Sorted Lists
目录一、问题分析二、代码实现1、迭代版本2、递归版本https://leetcode.com/problems/merge-two-sorted-lists/将两个有序链表合并成一个有序链表后返回。一、问题分析测试用例:Example:Input: 1->2->4, 1->3->4Output: 1->1->...原创 2020-03-01 11:47:51 · 92 阅读 · 0 评论 -
leetcode 324. Wiggle Sort II
https://leetcode.com/problems/wiggle-sort-ii/给定一个数组,将其排序成nums[0] < nums[1] > nums[2] < nums[3] ...的次序(摆动排序)一、问题分析测试用例:Example 1:Input: nums = [1, 5, 1, 1, 6, 4]Output: One possi...原创 2020-02-28 01:37:51 · 189 阅读 · 0 评论 -
leetcode 414. Third Maximum Number
目录一、问题分析二、代码实现1、排序2、HashSet去重+小顶堆3、TreeSet(去重+有序)4、类似成绩等级划分的方法https://leetcode.com/problems/third-maximum-number/给定一个非空数组,返回第三大的数字,如果不存在则返回数组的最大数字。一、问题分析测试用例:Example 1:In...原创 2020-02-26 02:27:09 · 190 阅读 · 0 评论 -
leetcode 703. Kth Largest Element in a Stream
目录一、问题分析二、代码实现1、排序2、小顶堆3、桶排序https://leetcode.com/problems/kth-largest-element-in-a-stream/设计一个类,其add()方法会从数据流中拿出一个数据添加到这个结构中,并返回该结构中第k大的数据。一、问题分析测试用例:Example:int k = 3;in...原创 2020-02-25 22:48:08 · 312 阅读 · 0 评论 -
leetcode 1093. Statistics from a Large Sample
https://leetcode.com/problems/statistics-from-a-large-sample/给定一个计数数组,其下标从0到255,计算其最小值、最大值、平均值、中位数、mode。一、问题描述测试用例:Example 1:Input: count = [0,1,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...原创 2020-02-25 18:47:06 · 125 阅读 · 0 评论 -
leetcode 295. Find Median from Data Stream
目录一、问题描述二、代码实现1、排序2、堆https://leetcode.com/problems/find-median-from-data-stream/设计一个数据结构,可以添加数据流到达的数据,可以查询已经到达的数据中的中位数(数据个数为奇数直接返回中位数,数据个数为偶数个则返回两个中位数的平均值)一、问题描述测试用例:addNum(1)...原创 2020-02-23 21:34:32 · 140 阅读 · 0 评论 -
leetcode 973. K Closest Points to Origin
目录一、问题分析二、代码实现1、排序2、大顶堆3、快速选择https://leetcode.com/problems/k-closest-points-to-origin/给定平面上的点的列表,返回前k个距离原点最近的点的集合。一、问题分析测试用例:Example 1:Input: points = [[1,3],[-2,2]], K = 1...原创 2020-02-23 18:29:21 · 318 阅读 · 0 评论 -
leetcode 387. First Unique Character in a String
目录一、问题描述二、代码实现1、两遍遍历2、一遍遍历https://leetcode.com/problems/first-unique-character-in-a-string/返回给定字符串第一个只出现一次的字符的下标,不存在则返回-1一、问题描述测试用例:s = "leetcode"return 0.s = "loveleetcode...原创 2020-02-22 23:36:07 · 112 阅读 · 0 评论 -
leetcode 451. Sort Characters By Frequency
目录一、问题描述二、代码实现1、堆2、桶排序https://leetcode.com/problems/sort-characters-by-frequency/基于出现频率对字符串进行降序排序后返回。一、问题描述测试用例:Example 1:Input:"tree"Output:"eert"Explanation:'e' appear...原创 2020-02-21 22:23:56 · 149 阅读 · 0 评论 -
leetcode 692. Top K Frequent Words
目录一、问题描述二、代码实现1、堆2、排序https://leetcode.com/problems/top-k-frequent-words/给定一个单词列表,返回前k个出现频率最高的单词的列表。一、问题描述测试用例:Input: ["i", "love", "leetcode", "i", "love", "coding"], k = 2Ou...原创 2020-02-21 16:28:40 · 321 阅读 · 0 评论 -
leetcode 347. Top K Frequent Elements
https://leetcode.com/problems/top-k-frequent-elements/给定一个元素为整数的非空数组,返回出现次数最多的前k个元素。一、问题描述测试用例如下:Example 1:Input: nums = [1,1,1,2,2,3], k = 2Output: [1,2]Example 2:Input: nums = [1], ...原创 2020-02-15 19:03:17 · 135 阅读 · 0 评论 -
leetcode 215. Kth Largest Element in an Array
目录一、问题分析二、代码实现1、排序采用内置排序采用冒泡排序基数排序2、堆采用大顶堆采用小顶堆3、快速选择递归版本迭代版本将输入数组随机化采用中间下标的元素作为参照元素https://leetcode.com/problems/kth-largest-element-in-an-array/返回数组中第k大的元素一、问...原创 2020-02-13 18:13:47 · 527 阅读 · 0 评论 -
leetcode 633. Sum of Square Numbers
https://leetcode.com/problems/sum-of-square-numbers/给定一个非负整数c,找到两个整数a、b使得a*a + b*b = c*c,如果存在则返回true,如果不存在则返回false一、问题分析测试用例:Input: 5Output: TrueExplanation: 1 * 1 + 2 * 2 = 5Input: 3...原创 2019-12-17 21:20:27 · 185 阅读 · 0 评论 -
leetcode 367. Valid Perfect Square
https://leetcode.com/problems/valid-perfect-square/给定一个正整数num,判断它是不是一个完全平方数一、问题分析测试用例:Input: 16Output: trueInput: 14Output: false完全平方数为:0, 1, 4, 9, 16, ... 也就是平方根为整数的正整数二、代码实现...原创 2019-12-17 19:45:10 · 147 阅读 · 0 评论 -
leetcode 852. Peak Index in a Mountain Array
https://leetcode.com/problems/peak-index-in-a-mountain-array/给定一个数组,其长度大于等于3并且存在一个0 < i < A.length - 1,使得A[0] < A[1] < ... < A[i-1] < A[i] > A[i+1] > ... > A[A.length-1]...原创 2019-12-13 15:22:07 · 126 阅读 · 0 评论 -
leetcode 658. Find K Closest Elements
https://leetcode.com/problems/find-k-closest-elements/给定一个已排序的数组,以及整数x和整数k,找到数组中最接近x的k个元素存在一个列表中返回。当有两个元素跟x的差距一样时,优先选择比较小的元素。一、问题分析测试用例:Input: [1,2,3,4,5], k=4, x=3Output: [1,2,3,4]I...原创 2019-12-13 14:23:46 · 119 阅读 · 0 评论