Chinaunix首页 | 论坛 | 博客
  • 博客访问: 180978
  • 博文数量: 43
  • 博客积分: 611
  • 博客等级: 中士
  • 技术积分: 1053
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-02 13:37
文章存档

2015年(3)

2013年(23)

2012年(17)

我的朋友

发布时间:2012-12-27 16:45:42

         问题描述:假设有一个数组x[],它有n个元素,每一个都大于零;称x[0]+x[1]+.....+x[i]为前置和,而x[j]+x[j+1]+....+x[n-1]为后置和。编写程序,求出x[]中有多少组相同的前置和与后置和。         我的思路:因为这个数组都是正数,那么,对于i越大,前置和也就越大;后置和是j越小,那么后置和越大。接下来就很简单了,当以x[i]为终点的前置和大于以x[j]为起点的后置和时,j需要减去1,同理可得小于的情况。代码如下:#include &l......【阅读全文】

阅读(1251) | 评论(0) | 转发(0)

发布时间:2012-12-26 20:20:37

       刚才那题太简单,不过瘾,再做一道题。       问题描述:已知两个元素从小到大排列的数组x[]与y[],请编写一个程序算出两个数组元素彼此之间差的绝对值中最小的一个数,此值称作数组的距离。       我的思路:关键点依然是"两个数组都从小到大排序"。那么,当x[i]==y[j]时,数组间距离为0,这肯定是最小的;当x[i]-y[j]>0时,如果i再增大,那么x[i]也会增大,那么x[i]-y[j]也会增大,而这样的增大不是我们的目标,所以此时要将j加1......【阅读全文】

阅读(1227) | 评论(0) | 转发(0)

发布时间:2012-12-26 19:37:07

        问题描述:已知两个整数数组f[]与g[],它们的元素都已经从小到大排列好,而且两个数组中的元素都各不相同。例如,f[]中有1,3,4,7,9,而g[]中有3,5,7,8,10。试编写程序算出这两个数组之间有多少组相同的元素。就这个例子而言,f[1]与g[0]是一组,f[3]与g[2]是一组。        我的思路:关键点还是"元素都已经从小到大排列好"。那么,两个数组,一起遍历就可以解决问题。代码如下: 点击(此处)折叠或打开#include <stdio.h>  ......【阅读全文】

阅读(1205) | 评论(0) | 转发(0)

发布时间:2012-12-25 14:41:00

         问题描述:已知一个已经从小到大排序的数组,这个数组中的一个平台就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,2,3,3,3,4,5,5,6中1,2.2,3.3.3,4,5.5,6都是平台。编写一个程序,接收一个数组,把这个数组中最长的平台找出来。在上面的例子中3.3.3就是该数组中最长的平台。          代码如下: 点击(此处)折叠或打开#include <stdio.h> #define MAX 1000 &nb......【阅读全文】

阅读(1443) | 评论(0) | 转发(0)

发布时间:2012-12-24 19:56:03

        问题描述:已知一个已经从小到大排序的数组,这个数组中的一个平台就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,2,3,3,3,4,5,5,6中1,2.2,3.3.3,4,5.5,6都是平台。编写一个程序,接收一个数组,把这个数组中最长的平台找出来。在上面的例子中3.3.3就是该数组中最长的平台。         我的思路:用distance变量表示平台的长度,从数组target中的第i个数开始,比较target[i]与target[i+distance],如果相等,就......【阅读全文】

阅读(947) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册