124. 最长连续序列 中文English 给定一个未排序的整数数组,找出最长连续序列的长度。 样例 样例 1 输入 : [100, 4, 200, 1, 3, 2] 输出 : 4 解释 : 这个最长的连续序列是 [1, 2, 3, 4]. 返回所求长度 4 说明 要求你的算法复杂度为O(n) cl ...
分类:
其他好文 时间:
2020-05-05 01:05:21
阅读次数:
81
我的LeetCode:https://leetcode cn.com/u/ituring/ 我的LeetCode刷题源码[GitHub]:https://github.com/izhoujie/Algorithmcii LeetCode 面试题05. 替换空格 题目 请实现一个函数,把字符串 s 中 ...
分类:
其他好文 时间:
2020-05-02 20:41:43
阅读次数:
54
如果你连算法复杂度分析都不会,或者没有这种意思,你学各种排序算、查找等算法有何用,因为你根本不知道或者没有意识什么时候应该使用它。当然,好处还是有的,能提高面试通过机率。 时间复杂度 大O符号背后的思想 大O符号是我们用来讨论算法运行所需时间的语言,用来表示我们如何比较不同方法解决问题的效率。 它就 ...
分类:
编程语言 时间:
2020-05-02 09:40:24
阅读次数:
51
问题:输入具有n个整数的向量arr,输出向量的任意连续子向量和的最大值 特殊情况(1、当向量都为正数时,为整个向量 2、当向量都为负数时,为0,即空子串 ) 1、O(n2)的算法 (循环对所有情况进行遍历) 1 #include <stdio.h> 2 #define max(a,b) ((a>b) ...
分类:
编程语言 时间:
2020-04-22 16:35:55
阅读次数:
88
数据结构和算法本身解决的是,如何让代码运行得更快,如何让代码更省存储空间。所以就分为两个维度分析,时间复杂度、空间复杂度。复杂度分析能事先初略的估计算法的执行效率。 时间复杂度 大O复杂度表示法 大O符号是由德国数论学家保罗·巴赫曼(Paul Bachmann)在其1892年的著作《解析数论》(An ...
分类:
编程语言 时间:
2020-04-16 16:47:38
阅读次数:
70
一、大 O 复杂度表示法 算法的执行效率,粗略地讲,就是算法代码执行的时间。但是,如何在不运行代码的情况下,用“肉眼”得到一段代码的执行时间呢?这里有段非常简单的代码,求 1,2,3…n 的累加和。现在,来估算一下这段代码的执行时间。 1 int cal(int n) { 2 int sum = 0 ...
分类:
编程语言 时间:
2020-04-07 12:41:24
阅读次数:
81
最小生成树两连 并查集优化的克鲁斯卡尔算法和优先队列+链式前向星优化的普利姆算法 Kruskal Kruskal是常用的最小生成树算法,算法利用贪心思想,每次选择没用过且不构成环的边的最小边,直到选择了n 1条边,通常我们用并查集这个数据结构去优化,优化后的Kruskal算法复杂度是$O(mlogm ...
分类:
其他好文 时间:
2020-04-07 12:27:31
阅读次数:
86
最短路三连 最常见的三种最短路算法分别是Floyd,Dijkstra和Bellman算法 Floyd Floyd用于解多源最短路 复杂度为 $O(n^{3})$ 主要解决稠密图,可以解决负权边的问题 ...
分类:
其他好文 时间:
2020-04-07 00:18:47
阅读次数:
63
一. 什么是机器学习 机器学习是从人工智能中产生的一个重要学科分支,是实现智能化的关键。 机器学习是一门多领域的交叉学科,设计概率论,统计学,逼近论,凸分析,算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 —— ...
分类:
其他好文 时间:
2020-04-05 20:42:46
阅读次数:
108
题目内容: 给定一个长n高2的网格图,如下图: 有三种操作: 1、删除一条边 2、将一条删除的边再加回来 3、询问从一个点到另一个点的不同路径数(不可经过重复边) 算法复杂度要求不能大于 n log n (由于只有题面,没有输入格式和数据,所以在此只讲一下思路) 正解是用线段树维护。 先给网格图标上 ...
分类:
其他好文 时间:
2020-04-04 18:55:11
阅读次数:
86