Maximum Subarray
这题是求解子序列的最大和,在这个题上走了不少的弯路,把整个思考过程记录一下:
1.既然是求解子序列问题,最先想到的是从两边向中间逼近,逼近的条件是如果两头都是负数那么,肯定都不关心,因此会进入到一个两端都是正数的序列然后求子序列,从左边算起,如果出现sum和为负了,则肯定从当前位置往后算和更好,此时考虑右侧,往左算和,如果有为负,则右边界也要更新。这一思路的最大问题是,当左右边界都不固定是这样算和是没有意义的。
2.接下来就考虑先确定边界,于是先把数列中的正数都取了,然后算两两间和,没有问题,但是超时了,测试大概是通过了200/202
3.然后就考虑到也不是所有的两两都要取和,比如一个正数的前一个也是正数,那肯定是前面一个做头,再比如,一个正数加后面一个负数小于零了,那这个正数肯定不能做头,对于尾也是一样,然后算法做了少许的优化,还是超时,跟上面的结果基本相同。
4.然后看了讨论区,好吧,我真傻!

class Solution(object):def maxSubArray(self, nums):""":type nums: List[int]:rtype: int"""res = nums[0]ending = nums[0]for i in range(1,len(nums)):ending = max(ending + nums[i], nums[i])res = max(res, ending)return res

PS:这两天智齿冠周炎,嘴都张不开了,痛苦啊!不过要给智齿冠周炎患者一个福音,那就是虾条!当你张不开嘴,嚼不了东西的时候,吃虾条!当你张不开嘴,嚼不了东西的时候,吃虾条!当你张不开嘴,嚼不了东西的时候,吃虾条!

LeetCode刷题(14)相关推荐

  1. 学渣的刷题之旅 leetcode刷题 14.最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 输入: ["flower","flow",&quo ...

  2. LeetCode刷题记录14——257. Binary Tree Paths(easy)

    LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...

  3. C#LeetCode刷题-程序员面试金典

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...

  4. C#LeetCode刷题-栈

    栈篇 # 题名 刷题 通过率 难度 20 有效的括号 C#LeetCode刷题之#20-有效的括号(Valid Parentheses) 33.0% 简单 42 接雨水 35.6% 困难 71 简化路 ...

  5. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...

  6. C#LeetCode刷题-数学

    数学篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 7 反转整数 C#LeetCode刷题之#7-反转整数(Reverse Integer) 28.6% 简单 8 字符串转整数 (a ...

  7. Leetcode刷题指南和top100题目

    原文链接:https://blog.csdn.net/qq_39521554/article/details/79160815 参考博文:https://blog.csdn.net/mmc2015/a ...

  8. LeetCode刷题指南

    CSDN话题挑战赛第1期 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题:Leetcode刷题指南 ...

  9. LeetCode刷题之1436. 旅行终点站

    LeetCode刷题之1436. 旅行终点站 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 给你一份旅游线路图,该线路图中的旅行线路 ...

  10. 【组队学习】【33期】LeetCode 刷题

    Leetcode刷题 航路开辟者:杨世超 领航员:肖桐 航海士:刘军.孙子涵.汪超.赵子一 基本信息 开源内容:https://github.com/itcharge/LeetCode-Py 开源内容 ...

最新文章

  1. 阿里巴巴开源:一次采集轻松解决多摄像机和3D激光雷达标定
  2. 入门经典综述!深度人脸识别算法串讲
  3. 使用 ale.js 制作一个小而美的表格编辑器(2)
  4. python一千行入门代码-Python – 一次从文件中读取1000行
  5. PyODPS学习:使用DataFrame实现SQL的IF判断
  6. Android 拍照是开启(调用)闪光灯(原创)
  7. OpenCV Shi-Tomasi corner 检测器
  8. vs2015 单元测试 linux,VS2015做单元测试
  9. qqp2011java_腾讯开放平台中实现QQ登陆的功能
  10. javaone_JavaOne 2012:向上,向上和向外:使用Akka扩展软件
  11. 什么从什么写短句_新年新气象跨年了,准备好发什么说说了吗
  12. 2.1 全连接神经网络
  13. Q105:PC双系统:Windows 7下硬盘安装Ubuntu 16.04
  14. skynet 学习笔记-netpack模块(1)
  15. 【TSP问题】基于狼群算法求解旅行商问题含Matlab源码
  16. Compiling for iOS 10.0, but module ‘xxx‘ has a minimum deployment target of iOS 12.0
  17. Linux Regulator Framework(2) - regulator driver
  18. 纯代码开发c# ui_UI代码挑战#1-心跳
  19. kdj值应用口诀_KDJ指标神奇的操作方法详解
  20. CouchDB安装与使用

热门文章

  1. NVolecity 处理DataTable 小记
  2. 配置Windows server 用户和组权限实验详解
  3. vue结合element实现自定义上传图片、文件
  4. 内核开发知识第二讲,编写Kerner 程序中注意的问题.
  5. Atitit orm的实现模式 data-mapper模式和active-record模式有什么区别
  6. Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.
  7. HttpResponse类
  8. 微信上传图文素材接口报41005错误解决方法
  9. FreeImage编译及遇到问题解决
  10. [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法