首页 > 其他分享 >剑指 Offer 42. 连续子数组的最大和

剑指 Offer 42. 连续子数组的最大和

时间:2023-09-05 21:34:17浏览次数:44  
标签:pre Offer int res nums 42 num 数组

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

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

 

示例1:

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



class Solution {
    public int maxSubArray(int[] nums) {
        int res=nums[0],pre=0;
        for(int num:nums){
            pre=Math.max(num+pre,num);
            res=Math.max(pre,res);
        }
        return res;
    }
}

标签:pre,Offer,int,res,nums,42,num,数组
From: https://blog.51cto.com/u_16040716/7379614

相关文章

  • 剑指 Offer 43. 1~n 整数中 1 出现的次数(困难)
    题目:classSolution{public:intcountDigitOne(intn){//mulk表示10^k//在下面的代码中,可以发现k并没有被直接使用到(都是使用10^k)//但为了让代码看起来更加直观,这里保留了klonglongmulk=1;intans=0;......
  • 剑指 Offer 41. 数据流中的中位数
    如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4]的中位数是3[2,3]的中位数是(2+3)/2=2.5设计一个支持以下两......
  • C语言数组(12)——写一个三子棋游戏(3)
    一.回顾我们上篇文章主要介绍了棋盘的打印,我们用到了DisplayBoard()函数,那么我们现在就需要来实现玩家下棋这一操作二.玩家下棋功能的实现与前几个函数一样我们将玩家下棋功能代码封装成一个函数,命名为PlayerMove()函数,我们前面说过玩家下棋的本质就是将数据填进二维数组中的元素中......
  • 剑指 Offer 20. 表示数值的字符串
    说实话本题虽然不难,但是对边界问题的处理超乎想象(一不小心就越界访问),”简单“的难度还是说明博主本身太菜了。本题的主要考点是双指针以及对标准库(对c++来说)一些函数的运用。处理的中心思想是:先将整个字符串反转,而后再通过双指针提取其中的各个单词,而后再将其反转。这样的处理......
  • 在 PHP 数组中的两个字符串之间切换
    在PHP中,你可以使用array_flip()函数和条件语句来在数组中的两个字符串之间进行切换。以下是一个示例://创建一个数组,包含两个字符串的映射关系$mapping=array('string1'=>'value1','string2'=>'value2');//定义当前需要切换的字符串$currentString='string......
  • 前端编程题(一):数组
    手写数组常见方法//数组mapArray.prototype.myMap=function(callback){constarr=[]for(leti=0;i<this.length;i++){arr[i]=callback(this[i],i);}returnarr;}//数组filterArray.prototype.myFilter=function(callback){const......
  • python 对象数组,根据指定字段条件过滤数据,并排序升序
    在Python中,你可以使用`filter()`函数和`sorted()`函数来根据指定字段的条件过滤并排序对象数组。以下是示例代码,演示如何根据指定字段条件过滤并按升序排序对象数组:```pythonobj_arr=[{'id':1,'name':'John'},{'id':2,'name':'Jane'},{'id':......
  • python 数字数组升序排序
    在Python中,你可以使用内置的`sorted()`函数对数字数组进行升序排序。以下是示例代码,演示如何对数字数组进行升序排序:```pythonnums=[5,3,8,2,1,9,4]sorted_nums=sorted(nums)print(sorted_nums)#输出:[1,2,3,4,5,8,9]```在这个示例中,我们使用`sorted()......
  • 数组去重
    ES5filter点击查看代码functionunique(arr){varres=arr.filter(function(item,index,array){returnarray.indexOf(item)===index})returnres}ES6点击查看代码varunique=arr=>[...newSet(arr)]......
  • JavaScript判断数组是否包含某个值的6种方法
    循环functioncontains(arr,val){for(vari=0;i<arr.length;i++){if(arr[i]===val){returntrue;}}returnfalse;}contains([1,2,3],3);//true使用whilefunctioncontains(arr,val){vari=arr.length;......