Hello CNBLOGS!Hello Everyone!

这是我的第一篇blog,所以这也是一篇试验性的blog。

这个学期我和很多同学一样选修了邹欣老师的现代程序设计这门专业课。第一次看到使用GitHub、写博客这样高大上的作业要求,我感觉很兴奋也很有压力。也希望能在这门课上通过自己的努力,取得更多的收获和更大的进步。

这里要说明一点:“第一次作业的截止日期是9月20号”,可是这个消息发布的时候却恰逢中秋佳节,我和不少同学一样都不在学校。而当我22号回来的时候才发现了“迟交作业者一律0分”的这个悲情消息。

助教学长:第一次的作业确实不是本人故意不交,实在是事出有因,所以在此向您表示道歉,希望您能原谅。不奢求能加回什么分数,但求把情况说明,以后避免这类问题再次发生。

那么现在补完成第一次作业的内容:

1、个人信息
学号11061036
GitHub帐号:ElendirChen
博客园 个人页面网址:http://www.cnblogs.com/elendir/
 
2、教科书选择: 代码大全
 
3、一维最大子数组的和问题
代码已经传入GitHub repository中
现转贴于此:
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int i,n,f[][]={},a[]={};
  6. printf("Please enter the number of input:");
  7. scanf("%d",&n);
  8. printf("Then please enter your input:");
  9. for(i=;i<=n;i++){
  10. scanf("%d",&a[i]);
  11. }
  12. f[][]=a[];f[][]=a[];
  13. for(i=;i<=n;i++){
  14. if(f[][i-]+a[i]>=f[][i-] && f[][i-]+a[i]>=a[i])f[][i]=f[][i-]+a[i];
  15. if(f[][i-]+a[i]<=f[][i-] && f[][i-]>=a[i])f[][i]=f[][i-];
  16. if(f[][i-]+a[i]<=a[i] && f[][i-]<=a[i])f[][i]=a[i];
  17. if(f[][i-]>=)f[][i]=f[][i-]+a[i];
  18. else f[][i]=a[i];
  19. //f[0][i]=f[1][i-1]+a[i] f[0][i-1] a[i];
  20. //f[1][i]=f[1][i-1]+a[i] a[i]
  21. }
  22. printf("The maximum value of sub-array is :%d\n",f[][n]);
  23. system("pause");
  24. return ;
  25. }

算法描述:
对于输入一维数组a[]  定义

f[0][i] 表示从a数组第0号元素到第i号元素的子数组中的 最大子数组和

f[1][i] 表示从a数组第0号元素到第i号元素的子数组中的 最大子数组和(其中a[i]元素必须被选取)

则存在以下递推式:

f[0][i]=max{f[1][i-1]+a[i],f[0][i-1],a[i]}

f[1][i]=max{f[1][i-1]+a[i],a[i]}

所求出f[0][n]即为题目要求从a数组第0号元素到第n号元素的子数组中的 最大子数组和

算法时间复杂度O[n]

所解决元素规模与a数组定义的大小有关(故本例只能解决1000个元素以下的问题)

至此这篇blog差不多就结束了哈,祝好~! Elendir

My First Blog on cnblogs (现代程序设计 Homework-01)的更多相关文章

  1. 现代程序设计homework——04

    题目: 详见:http://www.cnblogs.com/xinz/p/3341551.html 题目本身确实很难,“很难想到一个比较优雅的算法”,这是一个老师请来专门讲解这道题的大牛的原话.确实, ...

  2. My new Blog on cnblogs

    My New Blog 这是菜鸡Herself32在博客园新开的Blog,一部分文章会同时加载到这里. 也欢迎访问主站:https://herself32.github.io QwQ

  3. My First Blog in Cnblogs

    终于打算从csdn搬到博客园了 虽然在csdn只写过三篇文章,不过打算写第四篇的时候发现原先的三篇都消失了.联系客服最终还是找回了,不过对于csdn神奇的管理方式还是不放心,也没在csdn上再写过文章 ...

  4. My first blog on cnBlogs!

    以后会长期更新自己的心得体会!以此锻炼自己,奋发向前.

  5. my first blog by cnblogs

    #include <stdio.h> int main() { printf("hello everyone."); ; } 上面为我的第一个C语言测试代码,仅供初学者 ...

  6. Here is a test page for my new blog in cnblogs

    Tell me if I can use Fomula like LaTeX $$\sum\limits_{i = 1}^{n}a_i$$

  7. 阅读摘录《javascript 高级程序设计》01

    前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...

  8. 标准C程序设计七---01

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  9. javascript高级程序设计--笔记01

    概述 JavaScript的实现包含三个部分: 1  核心(ECMAScript)   提供核心语言功能 2  文档对象模型(DOM)  一套提供了访问以及操作网页内容的API 3  浏览器对象模型( ...

随机推荐

  1. opencv绘制灰度直方图

    代码之一: #include <cv.h> #include <highgui.h> #pragma comment( lib, "cv.lib" ) #p ...

  2. 车牌识别LPR(七)-- 字符特征

    第七篇:字符特征 选择的字符特征应该满足以下条件: (1)选取的字符特征具有较强的鲁棒性,不受字符变形.弯曲等影响. (2)两个字符的字符特征不能完全相同,但部分相同是允许的,即选择的字符特征是唯一的 ...

  3. jsp获取struts2查询到的数据

    1.在struts2的方法中利用查询语句查询到结果,然后再对结果进行封装,jsp根据封装获取相关信息 struts2的查询和封装方法: private List<FreeMarkerDetail ...

  4. Proxifier设置代理

    1.首先需要开启http代理选项---配置文件->高级->HTTP代理服务器,勾选“启用HTTP代理服务器支持” 2.然后开始添加代理服务器选择“配置文件->代理服务器”,在弹出框点 ...

  5. mac更新node

    今天在用 yeoman 的时候,提示对 npm 和 node 的版本有要求,为了决绝以后遇到的一些类似的问题,我决定定期对 node 和 npm 进行更新. npm的更新: $ sudo npm in ...

  6. GIT使用教程与基本原理

    转自:http://blog.csdn.net/wengpingbo/article/details/8985132 说明:该教程全部图片都来自于<pro git>.以下所有的操作,除非特 ...

  7. 函数buf_page_address_fold

    /********************************************************************//** Calculates a folded value ...

  8. bzoj3244

    很不幸,这题我又被虐了,给个链接http://www.cnblogs.com/g-word/p/3288675.html ..] of longint; f:..,..] of longint; mx ...

  9. MyBatis 实践 -配置

    MyBatis 实践 标签: Java与存储 Configuration mybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下: pro ...

  10. max-height,min-height在IE下不支持的解决方法

    max-height,min-height在IE下不支持的解决方法 max-width:160px; max-height:160px; _width:expression(this.width &g ...