【剑指offer】面试题42:连续子数组的最大和(java)

输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。

要求时间复杂度为O(n)。

 

示例1:

输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
 

提示:

1 <= arr.length <= 10^5
-100 <= arr[i] <= 100

代码(利用数组的规律):

class Solution {

    public int maxSubArray(int[] nums) {

        if(nums.length==0)

        {

            return 0;

        }

        int max = nums[0],sum = nums[0];

        for(int i=1;i<nums.length;i++)

        {

            if(sum<0)

            {

                sum = 0;

            }

            sum = nums[i]+sum;

            if(sum>max)

            {

                max = sum;

            }

        }

        return max;

    }

}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科学家打造全套人工神经系统 帮助瘫痪病人重新控制身体

Photo: Nathaniel Welch来源&#xff1a; IEEE电气电子工程师Motion Restored: Luke Tynan, who was paralyzed in 2017 by a spinal cord injury, demonstrates the wearable system that enables him to control his arm and hand. Sensors on the arm register his intentio…

存储器容量扩展——位扩展、字扩展

存储器&#xff08;二&#xff09;——存储容量扩展 前言&#xff1a;&#xff08;基本概念&#xff09; 存储空间&#xff1a;CPU决定存储器&#xff1a;用户需求决定&#xff08;4G&#xff0c;8G&#xff09;&#xff08;8G的存储器1各芯片能否完成用户需求&#xff1f;如…

海明码构造及纠错

计算机组成原理——海明码的构造及纠错 海明码&#xff08;又称为汉明码&#xff09;是具有一位纠错能力的编码。 信息位&#xff1a;发送用户端想要发送的信息序列&#xff0c;彼此独立&#xff0c;互不相关&#xff0c;最终交给接收端。 检测位&#xff1a;为了使信息码元产…

【剑指offer】面试题43:1~n整数中1出现的次数

输入一个整数 n &#xff0c;求1&#xff5e;n这n个整数的十进制表示中1出现的次数。 例如&#xff0c;输入12&#xff0c;1&#xff5e;12这些整数中包含1 的数字有1、10、11和12&#xff0c;1一共出现了5次。 示例 1&#xff1a; 输入&#xff1a;n 12 输出&#xff1a;5 …

潭州Java中级班(day_05)

1.掌握数字的使用2.掌握数字的声明以及内存分配3.通过数字的简单范例加深对数字的操作原理4.掌握多维数组的定义和使用 数组 数组是一组相关变量的集合&#xff0c;一个数组实际上就是一连串的变量一维数组 二位数组 int i[100] 表示一个伪代码&#xff0c;只是代表含义 一维数…

机器学习对抗攻击是一颗“定时炸弹”

来源 | AI前线作者 | Ben Dickson译者 | Sambodhi策划 | 刘燕随着机器学习的迅速普及&#xff0c;科技界必须制定一份保证人工智能系统免遭对抗攻击的路线图。否则&#xff0c;对抗机器学习将会是一场灾难。如果你一直在关注有关人工智能的新闻&#xff0c;你可能已经听说过或看…

操作系统基本特性——并发、共享、虚拟、异步

操作系统的基本特性——并发、共享、虚拟、异步 前言&#xff1a;操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是配置在计算机硬件上的第一层软件&#xff0c;是对硬件系统的首次扩充。主要作用是管理好这些设备&#xff0c;提高它们的利用率和吞吐量&…

【剑指offer】面试题45:把数组排成最小的数

输入一个正整数数组&#xff0c;把数组里所有数字拼接起来排成一个数&#xff0c;打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length < 100 说明: …

ASP.NET MVC 扩展HtmlHelper类为 js ,css 资源文件添加版本号

写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件&#xff0c;为了避免由于浏览器缓存的原因无法加载新的 css 或 js &#xff0c;一般的做法是在资源文件的后面加上一个版本号来解决&#xff0c;这样浏览器就会去服务器下载新的资源文件。 如果某个 css 文件被多个…

生物学哲学:科学哲学的新视野

来源&#xff1a;自然辩证法研究 2003年第4期作者&#xff1a;周建漳在未经言明的情况下&#xff0c;“科学”一词通常总是指向“自然科学”&#xff0c;而在传统“科学哲学”的视野中&#xff0c;“科学”则又似乎“不言自明”地指向“数理科学”&#xff08;注&#xff1a;所…

计算机组成原理——指令与数据的寻址方式

计算机组成原理——指令与数据的寻址方式 前言&#xff1a; 指令的定义&#xff1a;计算机执行某种操作的命令。从计算机组成的层次结构来看&#xff0c;计算机的指令有微指令&#xff0c;机器指令&#xff0c;宏指令之分。 微指令&#xff1a;微程序级的命令&#xff0c;它属…

【剑指offer】面试题46. 把数字翻译成字符串(java)

给定一个数字&#xff0c;我们按照如下规则把它翻译为字符串&#xff1a;0 翻译成 “a” &#xff0c;1 翻译成 “b”&#xff0c;……&#xff0c;11 翻译成 “l”&#xff0c;……&#xff0c;25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数&#xff0c;用来计…

IBM被曝拟出售昔日明星业务Watson Health,10年医疗梦就此破碎?

来源&#xff1a;AI前线 整理&#xff1a;刘燕传 IBM 拟出售 Watson Health 业务据《华尔街日报》报道&#xff0c;IBM 或将出售 IBM Watson Health 业务。华尔街日报援引知情人士称&#xff0c;随着公司新任 CEO 开始精简公司规模&#xff0c;并在混合云计算领域发力&#xf…

C# WebBrowser 设置独立的代理

近期需要对webbrower设置代理&#xff0c;找到了如下方案&#xff1a; 1. 对修改注册表&#xff0c;设置全局代理 这种方法限制在一个进程内只能设置或取消代理&#xff0c;而且是全局代理&#xff0c;对于部分不需要代理对功能会产生影响 2. 通过函数InternetSetOption实现修改…

全球光刻机龙头是怎样炼成的

来源&#xff1a;公众号「驭势资本」半导体芯片制作分为IC设计、IC制造、IC封测三大环节&#xff0c;光刻作为IC制造的核心环节&#xff0c;其主要作用是将掩模版上的芯片电路图转移到硅片上。由于光刻的工艺水平直接决定芯片的制程水平和性能水平&#xff0c;光刻成为IC制造中…

页面置换算法——最佳置换算法、最近最少使用算法、先进先出算法、时钟置换算法

计算机操作系统——页面置换算法 根据中国大学MOOC计算机操作系统(电子科技大学)而写. 如果自己要设计页面置换&#xff0c;要根据什么原则来设计&#xff1f;我们首先想到的是存储器的局部性原理&#xff08;时间局部性、空间局部性&#xff09; Page removed should be the …

【剑指offer】面试题47:礼物的最大价值(Java)

在一个 m*n 的棋盘的每一格都放有一个礼物&#xff0c;每个礼物都有一定的价值&#xff08;价值大于 0&#xff09;。你可以从棋盘的左上角开始拿格子里的礼物&#xff0c;并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值&#xff0c;请计…

vue中如何创建组件?

全局注册 Vue.component(my-component-name, {// ... 选项 ... }) 这些组件是全局注册的&#xff0c;也就是说它们在注册之后可以用在任何新创建的Vue根实例&#xff08;new Vue&#xff09;的模板中。比如&#xff1a; js中&#xff1a; Vue.component(component-a, { /* ... …

MIT提出Liquid机器学习系统,可像液体一样适应动态变化

作者&#xff1a;Daniel Ackerman机器之心编译编辑&#xff1a;Panda麻省理工学院&#xff08;MIT&#xff09;的研究者开发出了一种新型的神经网络&#xff0c;其不仅能在训练阶段学习&#xff0c;而且还能持续不断地适应。他们将这种灵活的算法命名为「Liquid」网络&#xff…

【剑指offer】面试题48. 最长不含重复字符的子字符串(java)

请从字符串中找出一个最长的不包含重复字符的子字符串&#xff0c;计算该最长子字符串的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释…