Java 代码----------------LeetCode------------ 53. 最大子序和
这道题本来是能做出来的,但是还是遗憾收场,我分析了之所以这样,是因为我做题时又乱了阵脚,没有秉承先思考这道题的思路,再往具体的算法上靠近的规则,这是一道动态规划类的题,它求的最大子序列,也是一步一步的推出来的,它的下一步是由上一步推出来的。对于这类题,你要看的我感觉就不必太多,你要着眼的就是最初的那数组的前几个,分析它们是否满足最大子序列然后就可以类推到一个更长的数组。
public int maxSubArray(int[] nums) { int[] dp = new int[nums.length]; dp[0] = nums[0]; int max = dp[0]; for (int i = 1, length = nums.length; i <length ; i++) { // 加入数组只有两个元素,那么它们要比的就是两个元素的和的大小和第一个元素和第二个元素的大小比较,首先你要明白,如果第一/二个元素是负数,那么加上它就是累赘,就不是最大长度了,所以你要判断它的第一/二个元素是否为负。 dp[i] = Math.max(dp[i-1]+nums[i],nums[i]); max = Math.max(max,dp[i]); } return max; }
所以你只需要用清楚当元素个数为2个时,你就可以推出更多的元素个数
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Arch Linux 各种问题汇总
本机安装了Gnome 3.28.2这个版本的图形界面,一下问题是优化过程中遇到的问题,在此记录一下,可能会帮助到一些人。 用文件管理器打开文件 描述 浏览器下载了文件,右键点击文件--》在文件夹zhon中显示,打开的不是文件了管理器,而是别的,比如我的是VSCode 解决 $ xdg-mime default org.gnome.Nautilus.desktop inode/directory 桌面图标显示 不提供该项功能 GNOME 3.28之前,桌面图标通过Files在桌面上绘制一个透明的带图标的窗口实现。在GNOME 3.28中,该功能被移除,桌面图标不再在GNOME上可用。可能的方案包括使用Nemo(GNOME File的一个分支,目前仍支持桌面图标)或安装gnome-shell-extension-desktop-iconsAUR插件以部分复刻GNOME 3.26以下支持的桌面图标功能。更多信息请访问Arch forum thread。---https://wiki.archlinux.org/index.php/GNOME_(%E7%AE%80%E4%BD%93%E4%B8...
- 下一篇
JavaWeb技术内幕四:Javac编译原理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/81429679 微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源) Java代码需要编译成class文件然后运行在JVM中。 # Javac是什么 javac是一种编译器,把java源代码转换成jvm能够识别的class文件。然后有JVM再把JVM语言转换成当前及其能够识别的机器语言。 Java语言屏蔽了目标及其相关的细节,语言执行和平台无关,这一特点让Java很流行,最大的体现就是Android使用java语言开发。 javac的任务是把Java源码编译成class字节码,表面上看是二进制数字流,实际上只有JVM能识别它的真正含义 javac编译器的基本结构 javac编译器的作用就是将...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,CentOS7官方镜像安装Oracle11G
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块