数据结构与算法每日一题——算出数组内最大自序之和
算出数组内最大自序之和
- 题目要求
- 示例
- 代码
题目要求
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例
示例一:
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。
示例二:
输入:nums = [1]
输出:1
代码
利用动态规划的思想,我们首先要确定的是我们所求的是0<i<n-1(因为数组从下标0开始,故减一)区间内最大的子序之和。则利用sum获取当前f(i)的f(i-1)的值,得出结论:sum = Max(f(i-1)+nums[i],nums[i]);
使得时间复杂度为O(n),空间复杂度为O(1)
int maxSubArray(int* nums, int numsSize){
//int nums = [-2,1,-3,4,-1,2,1,-5,4];
int sum = 0,max = nums[0];
for(int i = 0; i<numsSize; i++){sum = Max(sum+nums[i],nums[i]);max = Max(sum,max);}return max;
}
int Max(int var_1,int var_2){if(var_1 > var_2){return var_1;}else if(var_2 > var_1){return var_2;}else{return var_1;}
}
数据结构与算法每日一题——算出数组内最大自序之和相关推荐
- 横空出世,席卷互联网--评微软等公司数据结构和算法面试100题
横空出世,席卷互联网 ---评微软数据结构+算法面试100题 作者:July. 时间:2010年10月-11月.版权所有,侵权必究. 出处:http://bl ...
- 横空出世,席卷互联网--评微软等公司数据结构和算法面试100题 .
入 编程这一行之初,便常听人说,要多动手写代码.可要怎么写列?写些什么列?做些什么列? c语言程序设计100例,太过基础,入门之后,挑战性不够.直接做项目,初学者则需花费大量的时间与精力.且得有一定能 ...
- 2022AcWing寒假算法每日一题之2058. 笨拙的手指
2022AcWing寒假算法每日一题之2058. 笨拙的手指 题目链接:AcWing2058. 笨拙的手指 思路: 1.数据范围为0-1e9,则输入的时候按照字符串输入 2.将二进制和三进制各位数上的 ...
- 【备战蓝桥】 算法·每日一题(详解+多解)-- day1
[备战蓝桥] 算法·每日一题(详解+多解)-- day1 ✨博主介绍 什么是蓝桥杯 第一题: 第二题 第三题 第四题 第五题 第六题 第七题
- 【备战蓝桥杯】 算法·每日一题(详解+多解)-- day11
[备战蓝桥杯] 算法·每日一题(详解+多解)-- day11 ✨博主介绍 前言 Dijkstra 算法 流程 网络延迟时间 解题思路 Bellman-Ford 算法 流程 K 站内最便宜的航班 解题思 ...
- leetcode旋转数组 c语言,leetcode explore 初级算法第三题,旋转数组代码实现
leetcode explore 初级算法第三题,旋转数组代码实现.原题链接: 题目分析 因为题目不是很长,这里把题目贴出来: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. ...
- 数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数-C-icoding-排序-数据结构
数组合并 假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法, 将这 n 个数组合并到一个数组,且各元素按升序排列.即实现函数: void merge_arrays(const ...
- 找出数组中两数之和为指定值的所有整数对
一,问题描述 给定一个整型数组(数组中的元素可重复),以及一个指定的值.打印出数组中两数之和为指定值的 所有整数对 二,算法分析 一共有两种方法来求解.方法一借助排序,方法二采用HashSet 方法一 ...
- [珍藏版]微软等数据结构+算法面试100题全部出炉
火爆出炉:微软等数据结构+算法面试100题首次完整亮相 ---100题V0.1版最终完成 ================ 作者:July2010年12月6日 微软等100题系列V0.1版终于结束了. ...
最新文章
- amoeba高可用mysql_amoeba for mysql 使用说明
- 装AJAX.NET 1.0的环境,我遇到个问题,进来解答下
- 笔记:基于DCNN的图像语义分割综述
- 【Linux系统编程学习】Linux系统IO函数(open、read、write、lseek)
- (75)信号发生器DDS锯齿波设计(一)(第15天)
- excel表中怎么插入visio_Excel工作表中的排序,你真的掌握吗?10张动图带你了解!...
- 【代码笔记】iOS-手机系统版本
- 【课程作业】学术英语写作:文献阅读报告1
- java+ElementUI前后端分离旅游项目第二天 旅游管理和自由行
- 90后程序员职场报告:月薪普遍过万 超七成有房有车 女性程序员不足一成
- [BZOJ4246]两个人的星座(计算几何)
- Spring Boot配置Tomcat容器、Jetty容器、Undertow容器
- 3.3 泰勒(Taylor)公式和麦克劳林(Maclaurin)公式
- Linux文件系统及文件储存方式
- JAVA默认永久代大小_jvm——metaspace代替永久代
- 计算机科学与技术专业考研方向
- 最大开源代码sourceforge 简介 及视音频方面常用的开源代码
- android go怎么安装,Android studio3.0安装教程-Go语言中文社区
- Docker学习笔记-volumes(一)
- AI2(App Inventor 2)离线版服务器网络版(AI伴侣2.47版)