今天总结一下堆的相关内容, 之前总结过树的相关知识,其实堆的结构就是一个完全二叉树 现在总结堆的两条重要性质: 1、堆的节点的值总是不大于(不小于)其父节点的值 2、堆无论什么情况下,总是一棵完全二叉树 因为堆是一个完全…
标签:算法
禁忌搜索算法
禁忌搜索算法设计了模拟人类记忆功能的禁忌表,用来避免徒劳的重复搜寻过程,以及避免搜索过程陷入局部最优。一旦某个值被作为“禁忌对象”加入到禁忌表中,除非被解禁, 在此之前不会被再次搜索。禁忌表实质上是一种存储结构, 根据存…
Leetcode 875. 爱吃香蕉的珂珂
珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 珂珂可以决定她吃香蕉的…
题库练习5
1. 句子逆序 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”。所有单词之间用一个空格隔开,语句中除了英…
multivariate time series anomaly detection survey
Detecting spacecraft anomalies using lstms and nonparametric dynamic thresholding (Hundman et al. [2018])̵…
小米OJ之倔强青铜
找出单独出现的数字 描述: 给出N个数字。其中仅有一个数字出现过一次,其他数字均出现过两次,找出这个出现且只出现过一次的数字。要求时间和空间复杂度最小。 输入:输入多个数字,每个数字以空格分开。数字数量 N <…
查询链表的中间某个节点
链表是基本的数据结构之一,面试题中链表占很大一部分,可见链表操作是非常重要的。我对一些常见的链表操作进行的归纳。 下面的问题为:查找单…
Leetcode 1~30题目选讲
1. 两数之和 这是一道简单题目,直接两重循环判断实际复杂度O(n^2), 使用HashMap优化,时间复杂度O(n) 3. 无重复字符的最长子串 这一道题目稍微有一点难度,直接穷举所有字串判断是否重复,时间复杂度是O(…
【Leetcode】4. 寻找两个有序数组的中位数
题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为…
优化0-1揹包问题
public static int max_back() { // 0-1 揹包优化,使用一维数组来实现 int[] weight = new int[]{2, 2, 6, 5, 4}; int[] value = ne…
简单排序算法:冒泡排序,选择排序和插入排序的c++实现
所有代码的实现采用了模板类,如果对模板类不熟悉,可以把T换成 int 一、冒泡排序 冒泡排序的思想:相邻元素两两比较,如果逆序则交换 冒泡排序的实现思路:i 从数组的第二个下标开始循环(即以下标为1开始),每次从最后一个…
python实现判断一个正整数的阶乘末尾0的个数
算法 由于除了1!以外,阶乘均为偶数(有2),且有一个因子5末尾就含有一个0(例如25含有2个因子5)。因此,计算该数有多少个因子5,即可得到该数阶乘末尾0的个数。 python实现 def zero_count(n):…