
算法
文章平均质量分 68
DylanZou
这个作者很懒,什么都没留下…
展开
-
面试中的找零问题
今天早上看一位搞cv的高手坯子的博客,看到了一个找零问题,觉得蛮有意思的,现分享如下:问题描述: 现存在一堆面值为 V1、V2、V3 … 个单位的硬币,问最少需要多少个硬币才能找出总值为 T 个单位的零钱?假设这一堆面值分别为 1、2、5、21、25 元,需要找出总值 T 为 63 元的零钱。 很明显,只要拿出 3 个 21 元的硬币就凑够了 63 元了原创 2011-11-23 10:49:46 · 3321 阅读 · 0 评论 -
排序算法浅析(一)比较排序算法
比较排序算法,就是通过对不同元素的直接比较,确定大小关系,进而将一组数据排序的方法。这种比较可以是相邻元素间的,也可是是不同元素间的。我们通常遇到的如快速排序算法、堆排序算法、冒泡排序等,都是比较排序算法。 下面我将对常见的这几种比较排序算法的算法思想进行简单介绍,并附上实现代码。 一、选择排序算法 遍历一遍数组,选择其中国最小的元素,放在数组的最左边;在剩下的元素中,继续寻找最原创 2012-04-23 22:21:15 · 1082 阅读 · 0 评论 -
寻找字符最大公共子串
*题目描述:请编写一个函数,求n个字符串的最长公共子串,n 例如有三个字符串为: what is local bus? Name some local bus. local bus is high speed I/O bus close to the processor. 则最长的公共子串为“local bus”。原创 2012-04-17 21:02:45 · 2035 阅读 · 0 评论 -
微软面试题目(二)移动数组元素
给定一个整数数组,将数组中小于零的数都放在最左边,等于0的放在中间,小于零的放在最右边。代码如下:void swap(int* a,int* b){ *a = *a ^ *b; //a、b中不同位 *b = *a ^ *b; //b = a *a = *a ^ *b; //a = b}void ArrangArray(int* StartPos,int* EndPos){原创 2012-04-18 22:44:44 · 1072 阅读 · 3 评论 -
微软面试题目(一) 计算两个日期之间的天数
微软的面试,没能参加啊,只好打听了下题目,其中一题是在20分钟内写出:计算两个日期之间天数的方法。昨天晚上想了一下,今天实现了一下,经过调试,差不多一个小时才弄好,惭愧啊代码如下:/******************************************************************** file name: CountDays file ext: cpp原创 2012-04-18 22:13:55 · 963 阅读 · 0 评论