标签:算法
测试环境为DEV-C++,并且选择排序,插入排序,冒泡排序,均为优化后的,若想了解具体优化过程,请参照:https://blog.csdn.net/qq_40164152 测试用例: #ifndef OPTIONAL_02_SHELL_SORT_SORTTESTHELPER_H #define O
这是悦乐书的第175次更新,第177篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第34题(顺位题号是136)。给定一个非空的整数数组,除了一个元素外,每个元素都会出现两次。 找到那个只出现了一次的元素。例如: 输入:[2,2,1] 输出:1 输入:[4,1,2,
  比赛(补题)地址:http://222.22.65.164/problemset.php   题号为:4305 —— 4309   总述:这次新生赛难度偏于平和,但涵盖方面甚广,其中一道签到题是c语言题,并且有两道是hdu一百题的原题,一道简单的最小生成树,唯一“有些难度”的应该是一道数论题(毕
目录 0. 问题 1. 建立一个布隆过滤器 2. 它是如何工作的 3. 优缺点分析 4. 假正率推导及最优选择 5. 两个实现此功能的Python包 6. 参考内容 0. 问题 假设有两个集合(A)和(B),它们均含有不同数量的字符串,如何统计(A)中的哪些元素在(B)中也存在? 对于这个问题,
算法描述 快速排序 算法思路 快速排序算法的基本思路为从数组中选择一个数为基准数,之后,将比基准数小的数放在左边,比基准数大的数放在右边(分为了两个区),之后将左边(小于基准数)与右边(大于基准数)再次进行上述操作,一直重复直到无法再分为止 用户输入n,使用随机数产生n个数放入到数组a中 调用递
这是悦乐书的第174次更新,第176篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第33题(顺位题号是125)。给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略大小写。空字符串是有效回文。例如: 输入:"A man, a plan, a canal: Pan
前言 数据结构可划分为线性结构、树型结构和图型结构三大类。前面几篇讨论了数组、栈和队列、链表都是线性结构。树型结构中每个结点只允许有一个直接前驱结点,但允许有一个以上直接后驱结点。树型结构有树和二叉树(Binary Tree)两种,二叉树最多只允许有两个直接后继结点的有序树。 本篇将学习树
希尔排序 Q: 什么是希尔排序? A: 希尔排序因计算机科学家Donald L.Shell而得名,他在1959年发现了希尔排序算法。 A: 希尔排序基于插入排序,但是增加了一个新的特性,大大地提高了插入排序的执行效率。   Q: 回忆之前的插入排序,
这道题是LeetCode里的第2道题。 题目要求: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不
近期为了面试做准备,复习了下关于链表的一些知识点,做个记录~ 首先何谓链表? 链式存储的线性表,简称链表。链表由多个链表元素组成,这些元素称为节点。结点之间通过逻辑连接,形成链式存储结构。存储结点的内存单元,可以是连续的也可以是不连续的。逻辑连接与物理存储次序没有关系。 链表分为两个域: 值域:用于
试题1:将一整数逆序后放入一组数组,要求递归实现。 代码实现: #include "stdio.h" void convert(int *result, int n); int main(int argc,char* argv[]) { int n = 123456789,result[2
  ps.1.put(rank,value) 把当前rank的元素的数值修改   2.get(rank)获取rank的元素   3.remove(value)把向量中value剔除掉      4.size()返回元素个数      5.disordered()检测向量的有序性,是否存在紧邻的逆序
这是悦乐书的第173次更新,第175篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第32题(顺位题号是122)。假设有一个数组,其中第i个元素是第i天给定股票的价格。设计算法以找到最大利润。可以根据需要完成尽可能多的交易(即,多次买入并卖出一股股票)。 注意:不能同时进
旅行comf   给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE”,否则输出这个比值,如果需要,
给出一棵有根树,1为根结点,接下来q次询问,每次给出一个[l,r]区间,现在允许删掉[l,r]区间内任何一个点,使得所有点的最近公共祖先的深度尽可能大,问删掉的点是哪个点,深度最大是多少。 做法: 线段树维护区间dfs序的最大值,最小值。 首先,区间的LCA等价于区间d