基本概念 阶乘 在介绍排列组合前首先要介绍阶乘,因为很多排列组合的运算都是要用上阶乘。阶乘的定义如下:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。 即…
分类:算法
寻找第K大数的方法
摘自:http://www.cnblogs.com/zhjp11/archive/2010/02/26/1674227.html 今天看算法分析是,看到一个这样的问题,就是在一堆数据中查找到第k个大的值。 &…
重力小球
package { import flash.display.Shape; import flash.events.Event; import flash.events.MouseEvent; import flash.…
桶排序(C#)
桶排序(C#) 代码实现: /// <summary> /// 桶排序 /// </summary> /// <param name=”arrayToSort”>…
java实现冒泡排序
//这是我写的冒泡,应该是最精炼的了。 public class Sort { // 顺序冒泡排序 public static int[] bubblingSort1(int[] ar…
求长度为n的序列中最大的m个数
思路1:最小堆,时间复杂度O(nlogm) 分析: 1、建一个大小为m的最小堆,最小的元素在根部 2、遍历序列,若元素大于根部元素,则用该元素替换根部元素,并对最小堆进行调整,若元素小于等于根部元素,则不对最小堆做任何改…
排序算法----选择排序
通过循环找出最小的 public void test() { int[] a = new int[] {5,4,2,1,3}; for (int i = 0; i < a.length; i++) { int mi…
排序算法----插入排序、希尔排序
1、相邻数据之间相比较。先是1,0;然后2,1、1,0;以此类推 总结:大for从1~N;小for从i~0,之后判断交换即可 public void chaRuSort() { int[] a = new int[]{5…
hdu 2819 二分匹配
首先判断是否能行,只要行与列二分匹配。然后对匹配结果ma按从小到达排序,记录排序时的交换即可。由于M<1000,用选择排序,最多有N次交换。 #include<stdio.h> #include<…
【TYZ 10/18】 最大公约数问题
题目描述: TL:1S ML:256MB 【Description】 有N个整数,kAc会对它们做Q次修改。 每次修改指的是对所有数加一个整数(可正可负) 每修…
将数组分为4个子数组,且它们的和相等
这是一道某名企的开发实习岗的在线笔试题,题目描述是这样的: 输入为一个int类型的数组,在数组中选择三个切割点,将该数组分为四个子数组(不包含切割点),若这四个子数组的和相等,则返回true, 否则返回false. 例如…
【JavaScript】 freecodecamp----Diff Two Arrays
比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。 function diff(arr1, arr2) { var newArr = []; // Same, …