一:基础算法题5道 1.阿姆斯特朗数 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。判断用户输入的数字是否为阿姆斯特朗数。 (1)题目分析:这里要先得到该数是多少位的,然后再把每一位的数字截取出来,把各位数字的n次方之和和该数一起判断即可。(2)算法分析:python中有le ...
分类:
编程语言 时间:
2019-09-14 23:08:53
阅读次数:
184
现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难。希望能够让大家熟练掌握python的语法结构已经一些高级函数的应用。这些题目是在某些刷题的网站上登记的有水平的题目。这里如果有需要input的简单题,就略去 ...
分类:
编程语言 时间:
2019-09-11 23:39:04
阅读次数:
184
十大经典算法排序总结对比 一张图概括: 主流排序算法概览 主流排序算法概览 n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 冒泡排序(Bubble Sort) 当输入的数据已经是 ...
分类:
编程语言 时间:
2019-08-21 16:26:01
阅读次数:
90
维基百科:在计算机科学中,最大子数列问题的目标是在数列的一维方向找到一个连续的子数列,使该子数列的和最大。例如,对一个数列 ?2, 1, ?3, 4, ?1, 2, 1, ?5, 4,其连续子数列中和最大的是 4, ?1, 2, 1, 其和为6。 时间复杂度:O(N^3) 最粗鲁的做法就是直接三重循 ...
分类:
编程语言 时间:
2019-08-14 12:48:50
阅读次数:
99
快速排序 快速排序是一个经典算法: vector容器 vector容器。随着元素的数量而改变大小。它其实就是数组,却比数组强得多。 下面看看它的几种操作: 它同样可以使用下标访问。(从0开始) bitset bitset用来压位,使复杂度在原来的基础上除以32 map map的用法还是很多的。 注意 ...
分类:
其他好文 时间:
2019-08-11 13:14:28
阅读次数:
87
下载地址: http://gqylpy/di/308 资料简介: 本书旨在探讨如何优化算法效率,详细阐述了经典算法和特殊算法的实现、应用技巧和复杂度验证过程,内容由浅深,能帮助读者快速掌握复杂度适当、正确率高的高效编程方法以及自检、自测技巧,是参加ACM/ICPC、Google Code Jam等国 ...
分类:
编程语言 时间:
2019-08-08 19:12:00
阅读次数:
128
1 排序 桶排序 时间复杂度 O(N+M), N为待排序数的个数,M为桶的个数(即数的范围) 空间复杂度 O(M),M为桶的个数(即数的范围) 优点 · 快速 缺点: · 空间消耗大 · 被排序的数组元素只能是整数 · 这还不是一个真正意义上的桶排序,因为只能对数进行排序,而不涉及数对应的项 代码 ...
分类:
编程语言 时间:
2019-07-26 09:19:48
阅读次数:
100
一张图概括: 主流排序算法概览 主流排序算法概览 n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 冒泡排序(Bubble Sort) 作为最简单的排序算法之一,冒泡排序给我的感觉 ...
分类:
编程语言 时间:
2019-07-25 17:31:24
阅读次数:
110
第三章 经典算法 0 写在前面 本章介绍了 SVM,逻辑回归和决策树 三个经典算法。这三个算法在李航的《统计学习方法》中分别拿出了三章重点讲解。本节的提问需要有相应的基础,通过书中的提问发现自己基础太弱了,而基础知识最能考察一个人的学习能力。(记得考研时张宇说过,基础知识不等于简单知识,越是抽象的基 ...
分类:
编程语言 时间:
2019-07-18 00:21:27
阅读次数:
199
一、简介 EM 的英文是 Expectation Maximization,所以 EM 算法也叫最大期望算法。 我们先看一个简单的场景:假设你炒了一份菜,想要把它平均分到两个碟子里,该怎么分? 很少有人用称对菜进行称重,再计算一半的分量进行平分。大部分人的方法是先分一部分到碟子 A 中,然后再把剩余 ...
分类:
编程语言 时间:
2019-07-06 19:31:14
阅读次数:
134