![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
精品算法题
AdvancedPawn
这个作者很懒,什么都没留下…
展开
-
数组中的第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我的方案代码class Solution { public int findKthLarges...原创 2019-10-14 17:39:40 · 937 阅读 · 0 评论 -
合并K个排序链表
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6我的方案思路效率最差但是有效的暴力破解。算法先遍历参数ListNode数组的每一个链表,将链表每一个结点都放入新建的li...原创 2019-10-16 17:58:01 · 130 阅读 · 0 评论 -
求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2我的方案思路题目要求找到众数,即为数组中重复次数最多的值。那么可以利用哈希表键唯一的特性,将重复次数作为键存储。算法建立哈希...原创 2019-09-28 17:45:27 · 599 阅读 · 0 评论 -
旋转数组(环形替换)
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 ...原创 2019-09-30 17:48:10 · 3446 阅读 · 2 评论 -
下一个更大元素
给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输...原创 2019-10-10 17:26:44 · 110 阅读 · 0 评论