C语言名题百则
iteye_6931
这个作者很懒,什么都没留下…
展开
-
两数组最小距离问题
已知两个元素从小到大排列的数组x[]和y[],请写出一个程序算出两个数组元素彼此之间差的绝对值中最小的一个,这个叫做数组的距离。 这个问题不难,可以通过一个循环嵌套循环解决。但是既然说了两个数组元素都是从小到大排列,那么肯定有别的简单的办法。 如果x[i]>y[j],对于x[i]-y[j],所有排在y[j]之前的元素计算这个式子的值都...2011-12-11 23:26:15 · 358 阅读 · 0 评论 -
等值首尾和问题
问题:假设有一个数组x[],有n个元素,并且每一个都大于零;称x[0]+x[1]+x[2]+...+x[i]为前置和,而x[j]+x[j+1]+...+x[n-1]为后置和。试编写一个程序,求出x[]中有多少组前置和后置和。思路:设置两个索引变脸indexHead和indexTail,一个从前往后扫描,一个从后往前扫描。并且使用两个变量记录当前的前置和和后置和,并通过比较他们的值来决定移动...2011-12-24 00:03:15 · 136 阅读 · 0 评论 -
最长平台问题
问题:已知一个已经从小到大排序好的数组,说这个数组中的一个平台,就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,2,3,3,3,4,5,5,6中1,2.2,3.3.3,4,5.5,6都是平台。试编写一个程序,接收一个数组,把这个数组中的最长平台找出来。 以下是我的解法:int longest_plateau(int array[],int n){ int ...原创 2011-09-26 23:08:56 · 178 阅读 · 0 评论 -
等值数目问题
问题描述:已知两个整型数组f[]和g[],它们的元素都已经从小到大排列,并且每个数组中的元素各是各不相同的。例如,f[]中可能是1,3,4,7,9而g[]中可能是3,5,7,8,10。请写一个程序算出这两个数组中有多少组元素是相等的。例如f[2]=g[1]=3,f[4]=g[3]=8,因此上面的例子有两组。思路:一般情况下,很容易想到下面的方法:1.固定f[i],检查g[]中的每个元素,看...原创 2011-11-27 00:44:59 · 175 阅读 · 0 评论