读书笔记之编程之美 - 2.14 求数组的子数组之和的最大值
来源:互联网 发布:微信小程序 php后端 编辑:程序博客网 时间:2024/06/06 02:11
第一次遇到这个题是在Autodesk的笔试题,由于笔试时间比较短,当时只写了个大概思路。
当时我的想法是正负数问题,先从前扫描,把数组的值都加起来,如果某时的sum为负数,则可以丢弃之前的数据,从新开始计算。另外还要从后面进行计算,遇到sum为负数也要进行数据截断。现在看这个解法有个问题,就是数组全为负数的时候,找不到答案,还要补充一步,寻找最大的那个负数。
再看书上的解法,直接看代码清单2-27,nStart = max(A[i], nStart + A[i]),这句的意思就是判断数组后面的结果是否可以被丢弃。如果A[i] > nStart + A[i],也就是nStart < 0,即sum为负数就应该丢弃,从而nStart = A[i]重新开始。而nAll = max(nStart, nAll)则是保证前面的数可以被舍弃。
可以看出我的想法还是正确的,不过书上的解法更简洁。
今天去逛书店,发现这本书2010年5月已经第9次印刷了,书中的插图也更新了不少,但还是有错误,呵呵。比如2.10节的那几张图就不太正确。
- 读书笔记之编程之美 - 2.14 求数组的子数组之和的最大值
- 编程之美读书笔记2.14—求数组的子数组之和的最大值
- 编程之美读书笔记2.14 - 子数组之和的最大值
- 编程之美2.14求子数组之和的最大值
- [编程之美2.14]求子数组之和的最大值
- 【编程之美】读书笔记:求数组的子数组之和的最大值
- 编程之美--求子数组之和的最大值
- 编程之美之2.14 求数组的子数组之和的最大值
- 编程之美2.14 求数组的子数组之和的最大值
- 编程之美2.14——求数组的子数组之和的最大值
- 编程之美 2.14 求数组的子数组之和的最大值
- 编程之美2.14 求数组的子数组之和的最大值
- 编程之美 2.14 求数组的子数组之和的最大值
- [编程之美] 2.14 求数组的子数组之和的最大值
- 编程之美2.14 求数组的子数组之和的最大值
- 编程之美2.14 求数组的子数组之和的最大值
- 《编程之美》- 2.14 - 求数组的子数组之和的最大值
- 编程之美2.14求数组的子数组之和的最大值Java版
- ospf协议(摘自网络)
- Extjs grid getSelections()
- C#连接数据库的ConnectionString字符串的格式说明
- [C++] Console 翻牌游戏
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- 读书笔记之编程之美 - 2.14 求数组的子数组之和的最大值
- study the accessrule.py for plone and for zope....compare the differencess...
- 知识的分享和管理——来自项目管理群的讨论
- pku 2780 Linearity
- hdu1002A + B Problem II
- VC++孙鑫视频笔记(三)
- 技术书单
- USACO历年比赛题目列表,测试数据和解题报告下载
- 如何在vs (visual studio)调试环境下查看lua的调用栈、变量信息