LeetCode刷题(14)
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)相关推荐
- 学渣的刷题之旅 leetcode刷题 14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 输入: ["flower","flow",&quo ...
- LeetCode刷题记录14——257. Binary Tree Paths(easy)
LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...
- C#LeetCode刷题-程序员面试金典
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...
- C#LeetCode刷题-栈
栈篇 # 题名 刷题 通过率 难度 20 有效的括号 C#LeetCode刷题之#20-有效的括号(Valid Parentheses) 33.0% 简单 42 接雨水 35.6% 困难 71 简化路 ...
- C#LeetCode刷题-字符串
字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...
- C#LeetCode刷题-数学
数学篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 7 反转整数 C#LeetCode刷题之#7-反转整数(Reverse Integer) 28.6% 简单 8 字符串转整数 (a ...
- Leetcode刷题指南和top100题目
原文链接:https://blog.csdn.net/qq_39521554/article/details/79160815 参考博文:https://blog.csdn.net/mmc2015/a ...
- LeetCode刷题指南
CSDN话题挑战赛第1期 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题:Leetcode刷题指南 ...
- LeetCode刷题之1436. 旅行终点站
LeetCode刷题之1436. 旅行终点站 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 给你一份旅游线路图,该线路图中的旅行线路 ...
- 【组队学习】【33期】LeetCode 刷题
Leetcode刷题 航路开辟者:杨世超 领航员:肖桐 航海士:刘军.孙子涵.汪超.赵子一 基本信息 开源内容:https://github.com/itcharge/LeetCode-Py 开源内容 ...
最新文章
- 阿里巴巴开源:一次采集轻松解决多摄像机和3D激光雷达标定
- 入门经典综述!深度人脸识别算法串讲
- 使用 ale.js 制作一个小而美的表格编辑器(2)
- python一千行入门代码-Python – 一次从文件中读取1000行
- PyODPS学习:使用DataFrame实现SQL的IF判断
- Android 拍照是开启(调用)闪光灯(原创)
- OpenCV Shi-Tomasi corner 检测器
- vs2015 单元测试 linux,VS2015做单元测试
- qqp2011java_腾讯开放平台中实现QQ登陆的功能
- javaone_JavaOne 2012:向上,向上和向外:使用Akka扩展软件
- 什么从什么写短句_新年新气象跨年了,准备好发什么说说了吗
- 2.1 全连接神经网络
- Q105:PC双系统:Windows 7下硬盘安装Ubuntu 16.04
- skynet 学习笔记-netpack模块(1)
- 【TSP问题】基于狼群算法求解旅行商问题含Matlab源码
- Compiling for iOS 10.0, but module ‘xxx‘ has a minimum deployment target of iOS 12.0
- Linux Regulator Framework(2) - regulator driver
- 纯代码开发c# ui_UI代码挑战#1-心跳
- kdj值应用口诀_KDJ指标神奇的操作方法详解
- CouchDB安装与使用
热门文章
- NVolecity 处理DataTable 小记
- 配置Windows server 用户和组权限实验详解
- vue结合element实现自定义上传图片、文件
- 内核开发知识第二讲,编写Kerner 程序中注意的问题.
- Atitit orm的实现模式 data-mapper模式和active-record模式有什么区别
- Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.
- HttpResponse类
- 微信上传图文素材接口报41005错误解决方法
- FreeImage编译及遇到问题解决
- [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法