上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要: 描述:农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发 阅读全文
posted @ 2020-05-06 12:02 StudyNLP 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 快速幂:分治方式的实现其实就是利用递归的原理实现。Python算法实现: 1 def pow(a, b): 2 if b == 0: 3 return 1 4 if b % 2 != 0: 5 return a * pow(a, b - 1) 6 else: 7 t = pow(a, b / 2) 阅读全文
posted @ 2020-05-02 11:07 StudyNLP 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。比如:74386,逆序为:74,73,76,43,86,所以逆序数为:51.直接计数法虽然简单直观,但是其时间复杂度是 O(n^2),如果数据量很大,程序会崩 阅读全文
posted @ 2020-04-29 18:51 StudyNLP 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 描述给定一个数组包含n个元素,统计前m大的数并且把这m个数从大到小输出。输入第一行包含一个整数n,表示数组的大小。n < 100000。第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。第三行包含一个整数m。m < n。输出从大到小输出前m大的数, 阅读全文
posted @ 2020-04-22 14:17 StudyNLP 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 输入n ( n<= 100,000)个整数,找出其中的两个数,它们之和等于整数m(假定肯定有解)。题中所有整数都能用 int 表示解法1:用两重循环,枚举所有的取数方法,复杂度是O(n 2 )的。for(int i = 0;i < n-1; ++i) for(int j = i + 1; j < n 阅读全文
posted @ 2020-04-20 10:14 StudyNLP 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 二分查找:是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每 阅读全文
posted @ 2020-04-15 15:45 StudyNLP 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 拓扑排序:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列, 阅读全文
posted @ 2020-04-11 16:30 StudyNLP 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。核心思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减 阅读全文
posted @ 2020-04-08 21:42 StudyNLP 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 计数排序优化版:引用:https://www.cnblogs.com/xiaochuan94/p/11198610.html基础版能够解决一般的情况,但是它有一个缺陷,那就是存在空间浪费的问题。比如一组数据{101,109,108,102,110,107,103},其中最大值为110,按照基础版的思 阅读全文
posted @ 2020-04-04 13:27 StudyNLP 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 引用:https://www.cnblogs.com/xiaochuan94/p/11198610.html第一步:找出原数组中元素值最大的,记为max。第二步:创建一个新数组count,其长度是max加1,其元素默认值都为0。第三步:遍历原数组中的元素,以原数组中的元素作为count数组的索引,以 阅读全文
posted @ 2020-04-01 21:21 StudyNLP 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 12 下一页