数组
Enonlay
这个作者很懒,什么都没留下…
展开
-
合并k个排序链表
力扣23:合并k个排序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思路这让我想起了上次腾讯的题,n个数组的topK问题。这个也可以用一个优先队列维护一个最小值,每次都在...原创 2020-05-01 18:02:06 · 156 阅读 · 0 评论 -
数组中出现的次数(异或常用)
力扣面试题56-1:数组中数字出现的次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]要求时间复杂度为O(n),空间复杂度为O(1)。如果使用哈希表来进行访问存储,空间复杂度不符合要求。如果对每个数进行搜索,时间复杂...原创 2020-04-28 16:16:03 · 569 阅读 · 0 评论 -
堆排序和N个数组的topK问题
堆排序本文主要通过实现一个小根堆排序对堆排序进行一个说明。堆排序具体分为以下几个函数进行实现:heapify(int[] nums, int n, int len)heapInitial(int[] nums, int n)heapSort(int[] nums)heapify(int[] nums,int n, int len);这个函数是堆排序的核心函数,其表示对n为下标的节...原创 2020-04-27 20:14:11 · 445 阅读 · 0 评论 -
搜索旋转排序数组(变种二分查找)
力扣31:搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,...原创 2020-04-27 12:22:19 · 95 阅读 · 0 评论 -
优美子数组
力扣:1248 优美子数组给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。示例 2:输入:nums = [2...原创 2020-04-22 21:21:54 · 440 阅读 · 0 评论