免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 C/C++ ~~
最近访问板块 发新帖
查看: 1093 | 回复: 7
打印 上一主题 下一主题

~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-31 22:58 |只看该作者 |倒序浏览
:em12:  :em12:  :em12:

论坛徽章:
0
2 [报告]
发表于 2004-04-01 04:43 |只看该作者

~~

Could you please explain it to me first?

Thanks

论坛徽章:
0
3 [报告]
发表于 2004-04-01 15:11 |只看该作者

~~

Q1:
  1.    s=n*(n+1)/2;
  2.    for ( i = 0; i < n; i ++ )
  3.       s -= a[i];
  4.    return s;
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-04-01 15:18 |只看该作者

~~

Q2:
  1.    for ( s = 0, i = 0; i < n; i ++ )
  2.       if ( a[i] >; 0 )
  3.          s += a[i];
  4.    if ( s == 0 )
  5.       for ( s = a[0], i = 1; i < n; i ++ )
  6.          if ( a[i] >; s )
  7.             s = a[i];
  8.    return s;
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-04-01 16:55 |只看该作者

~~

楼主的题目
第1个还需要用o来衡量,不知道你给出的数祖是不是排序过的(如果重数学的角度讲,其实没什么必要,只是对于第二个问题快速找出答案有用)你不是找那个不再0到n中的那个数么???
你做一个0加到n的和(一趟扫描就出来了)然后用它减去你给出的那个数株中值得总和,不就是那个不再数祖中的值了么!!!
第二个问题也用第一个题的方法,无非是找出集合中元素最小的值(一趟比较就出来了)然后用总的集合中的元素总和减去那个值,就是索求了。。。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2004-04-01 17:14 |只看该作者

~~

FH的第二题答案中,第二轮循环不做也可以吧?由第一轮循环已经知道了全部a<0了。

论坛徽章:
0
7 [报告]
发表于 2004-04-01 17:20 |只看该作者

~~

to aero:
第2个循环就是要从所有非正数中找一个最大的作为子数组的和啊,呵呵,当然,空集也是子数组之一,就看楼主允许不允许了。如果楼主允许,那么if ( s == 0 )那一段就可以不要。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2004-04-01 17:25 |只看该作者

~~

呵呵,应该允许吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP