随笔分类 - 算法
摘要:View Code今天看到了一个比较有意思的算法题,其实更有意思的是其解法,让人顿时有一种耳目一新的感觉,爱不释手,拿来分享一下。题目:假设生成26个非负随即数,要求其和是301,求程序生成此列数字哈哈,元芳,你如何看?
阅读全文
摘要:现实生活中有很多问题,人为不好解决,但利用计算机速度快,不出错的特性,可以很方便的解决这些问题,下面简单说说我在程序设计中解决实际问题的一些常见思想,高手可以忽略掉,我也是无聊了随便写写而已。 1.枚举最优解时的情况 有很多问题初看很棘手,但经过仔细的分析,可以得出一些显然的结论。比如下面这个问题: 平面内有上千个点,用一个半径为R的圆去覆盖,最多能覆盖多少点?很多程序员最暴力的思想就是枚举,当然,利用计算机枚举确实是一种很有效的方法,特别是在数据很小的情况下,不过对于上述问题,如何枚举?枚举圆的位置吗?确实可以枚举圆的位置,如果不经过思考的话可以再二维正交系内枚举每个点为圆心,然后判断这个圆
阅读全文
摘要:View Code 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 int[] data = new int[] { 21, 37, 12, 56, 11, 78, 65, 96 }; 6 data = Sort(data); 7 foreach (int a in data) 8 { 9 Console.WriteLine(a.ToSt...
阅读全文
摘要:View Code 1 class SCAN 2 { 3 4 static void Main(string[] args) 5 { 6 SCAN s = new SCAN(); 7 8 int[] a = { 55, 58, 39, 18, 90, 160, 150, 38, 184 }; 9 int nowway = 100; 10 11 12 int[] high = s.high(nowway, a);//高磁道 13 ...
阅读全文
摘要:static void Main(string[] args) { ArrayList at=new ArrayList(); int[] number=new int[]{5679,4,36,67976,124,235,453,436,6589,0,5,6,346,457,34,3642}; foreach(int i in number) { at.Add(i); } ArrayList al=QuickSort...
阅读全文
摘要:public class Quick_Sort { private static int QuickSort_Once(int[] _pnArray, int _pnLow, int _pnHigh) { int nPivot = _pnArray[_pnLow]; //将首元素作为枢轴 int i = _pnLow, j = _pnHigh; while (i < j) { ...
阅读全文