Hello CNBLOGS!Hello Everyone!

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

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

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

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

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

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

算法描述:
对于输入一维数组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. linux下对符合条件的文件大小做汇总统计的简单命令

    (1)统计当前目录下的 *txt 文件du -c -h *txt   (2)统计当前目录下的 *txt 文件, 并求出总大小du  *txt |awk 'BEGIN{count=0;size=0;} ...

  2. 网站常见问题及解决方法(div/css)

    18.<a> 在IE6,7 下面重新定义宽和高的代码:{  display:block; display:-moz-inline-stack; display:inline-block;  ...

  3. poj 1151 Atlantis (离散化 + 扫描线 + 线段树 矩形面积并)

    题目链接题意:给定n个矩形,求面积并,分别给矩形左上角的坐标和右上角的坐标. 分析: 映射到y轴,并且记录下每个的y坐标,并对y坐标进行离散. 然后按照x从左向右扫描. #include <io ...

  4. svn: E230001: Server SSL certificate verification failed

    TortoiseSvn是好的 命令行svn 的时候 有问题 ,也加了--no-auth-cache --non-interactive参数 svn list 地址 选下p 就好. http://sta ...

  5. apache多站点配置+多端口配置

    Apache多站点配置 这种方法是配置不同的地址访问不同的文件夹的配置 1:修改本机的hosts文件,如下: 示例: 127.0.0.1 localhost 127.0.0.1 www.dede.co ...

  6. LeetCode: pow

    Title: https://leetcode.com/problems/powx-n/ 思路:二分.使用递归或者非递归.非递归有点难理解.pow(0,0)=1 递归的方法是将n为负数的用除法解决.有 ...

  7. linux面试题1

    一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点 来标识. ...

  8. SSH整合所需jar

    Struts2.1.8+Hibernate3.2+Spring4.1.6+MySql ant-1.6.5.jar ant-antlr-1.6.5.jar ant-junit-1.6.5.jar ant ...

  9. 去除 waring Method 'CreateNew' hides virtual method of base type 'TCustomForm'

    最近整理前人的代码,有好多的hint和waring, 其中整理到Method 'CreateNew' hides virtual method of base type 'TCustomForm', ...

  10. Oracle 课程八之性能优化之10053事件

    一. 10053事件 当一个SQL出现性能问题的时候,可以使用SQL_TRACE 或者 10046事件来跟踪SQL. 通过生成的trace来了解SQL的执行过程. 我们在查看一条SQL的执行计划的时候 ...