vs作为现在流行的主流编程软件,我接下来将会以vs2015为例,介绍vs2015的安装方法。

1.从Microsoft官网上或从网上下载vs2015安装镜像。

2.运行下载文件后,根据提示完成安装。

但是需要注意,出现线面弹框的时候,要选择自己需要的语言,不要选择自己不需要的语言,因为那样会让安装时间过长。

3.接下来我将演示如何创建一个cpp文件。

首先运行vs2015后,会出现上面界面。

选择新建项目,选择Win32控制台应用程序。

在这里我是建议大家将附加选项中除了空项目之外,全部点掉的。

在这里选择源文件,右击创建新项目。

选择c++文件。

然后大家就可以在这里编程了。

--------------------------------------------------------------------------这里是可爱的分界线-----------------------------------------------------------------------------------------

接下来我将为大家介绍求数组的子数组之和的最大值算法。

看到这个题目我感到很亲切,因为我本身是做acm的,所以对这个题很熟悉。

开始我和大家一样,或许第一印象就是使用暴力求解的方法,(- -当然你们也可能比我聪明直接想出了更简便的算法)。

这里我要向大家介绍一个源自邹欣老师编写的的《编程之美》中的一个算法,当然我只是在时间上进行了相对的节约,并没有对空间上进行节约,如果愿意,这也是完全可以的。

如果同学们才用暴力求解,会发现将程序的时间复杂度将是O(n*n),这在n很小是还可以,可是当n大到一定程度是,这个复杂度是相当恐怖的。

好了不bb了,我将介绍一下这个的算法,除了需要储存数据的a数组,我将而外开取两个数组,一个是now数组,一个是all数组。now[i]数组用来储存到第i个数时,一定加上a[i]的最大值,而all[i]数组则表示到第i个数时的最大值。

这里根据动态规划,不难得出下面两个递推公式。

now[i]=max(a[i],now[i-1]+a[i]);

all[i]=max(now[i],all[i-1]);

我采取了《编程之美》上那种从数组后面向前递推的方法,当然正面递推也是正确的。

这是我代码地址:https://git.coding.net/Sm1leJokinger/shuzu.git

下面我将贴上我单元测试的结果。

用例编号

用例描述

输入数据

预期输出数据

实际输出数据

通过/不通过

评价

1

最大子数和为部分数组

0,1,2-5,4,5

9

9

通过

结果正确

2

最大子数和为整个数组

0,1,2,-1,10,5

17

17

通过

结果正确

3

全部为0

0,0,0,0,0,0

0

0

通过

结果正确

4

最大子数和为最小负数

-1,-1,-2,-5,-4,-5

-1

-1

通过

结果正确

5

包含0的正数

0,1,2,3,4,5

15

15

通过

结果正确

转载于:https://www.cnblogs.com/2333sm/p/5946868.html

vs2015安装与单元测试以及经过优化的算法相关推荐

  1. 解决VS2015安装Android SDK 后文件不全及更新问题

    解决VS2015安装Android SDK 后文件不全及更新问题 参考文章: (1)解决VS2015安装Android SDK 后文件不全及更新问题 (2)https://www.cnblogs.co ...

  2. Visual studio 2013安装及单元测试

    vs安装过程 单元测试: 创建c#类库 创建单元测试 测试结果 转载于:https://www.cnblogs.com/syh111/p/5295974.html

  3. 终极解决VS2015 安装失败问题,如 安装包损坏或丢失

    终极解决VS2015 安装失败问题,如 安装包损坏或丢失 参考文章: (1)终极解决VS2015 安装失败问题,如 安装包损坏或丢失 (2)https://www.cnblogs.com/tmdsle ...

  4. eigen库安装_四足机器人优化方法:Webots下Eigen与qpOASES非线性优化库环境搭建

    在最小二乘法一章节中我给出了基于matlab仿真下的手推最小二乘解方法,最终采用广义法能将任意多组数据求最小二乘解转换为求取固定矩阵元素平均值的形式从而避免数据增长带来的计算量增大: https:// ...

  5. Redis安装、配置与相关优化

    Redis配置与优化 一.关系数据库与非关系型数据库 1 关系型数据库 2 非关系型数据库 二.关系型数据库和非关系型数据库区别 1 数据存储方式不同 2 扩展方式不同 3 对事务性的支持不同 三.非 ...

  6. .msu格式文件跳过windowupdate检测直接安装方案(vs2015安装提示0x80240037安装失败,KB2999226无法安装)

    .msu格式文件跳过windowupdate检测直接安装方案(vs2015安装提示0x80240037安装失败,KB2999226无法安装) 适用范围: 一些需要window update补丁支持的软 ...

  7. VS2015安装(vs2015安装包+虚拟光驱DVDFab)

     此文粘贴自 https://blog.csdn.net/guxiaonuan/article/details/73775519?locationNum=2&fps=1 写的非常详细很适合 ...

  8. vs2015安装的那些坑

    一个vs2015安装了两天,各种问题,在此记录一下 重点!! 如果电脑中有其他版本的vs必须要卸载干净.不然很容易安装不上. 坑1.安装路径无法选取---解决,卸载重装. 坑2.提示连接错误" ...

  9. vs2015安装路径无法修改问题

    对于vs2015安装时,有很多情况导致安装有问题.尤其是存储空间不足,但是重新安装时,发现无法选择新的安装路径. (1)上网百度一款软件visual studio uninstaller 完美彻底卸载 ...

最新文章

  1. tar 和gzip 的区别
  2. asp.net发布网站(转)
  3. STP与RSTP也不过就这些区别
  4. P1121 环状最大两段子段和
  5. 编写代码,实现一个栈(Stack)的类。
  6. distribution cleanup job2
  7. Jenkins【环境搭建 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
  8. 悲观锁和乐观锁和gap锁
  9. 常用计算机二级函数,计算机二级MS office常用函数
  10. Docker 内程序时间设置,很重要
  11. 信息学奥赛一本通(1208:2的幂次方表示)
  12. 微信小程序php java_PHP实现微信小程序用户授权的工具类
  13. 将多个文件绑在一起执行
  14. [ArcPy百科]第一节:何为arcpy
  15. 慕课网EMOS在线办公系统源码笔记1-6章
  16. Java proxy 代理
  17. 华为防火墙查看日志命令_华为USG防火墙运维命令大全
  18. 英语4级的分数如何计算机,英语四级分数怎么计算
  19. html中红色星号,使用CSS中的星号(*)通配符的总结
  20. SQL(Oracle) 日期转换为英文年月格式

热门文章

  1. 软件工程--需求分析
  2. 解决Eclipse中Android图标不见了
  3. Java 异常处理中对于 finally 的一些思考
  4. 一个很艰难的 Java 核心面试问题!
  5. Spring Boot中如何干掉过多的if else!
  6. Redis是如何写代码注释的?
  7. IntelliJ IDEA 详细图解最常用的配置 ,适合刚刚用的新人。
  8. Spring 原理初探——IoC、AOP
  9. Mybatis:基于注解形式,传入List,返回List实体
  10. 11.C++: cin、cin.get()、cin.getline()、getline()、gets()