402 · 连续子数组求和

news/2025/1/15 22:58:32/

链接:LintCode 炼码 - ChatGPT!更高效的学习体验!

题解:

九章算法 - 帮助更多程序员找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧

九章算法 - 帮助更多程序员找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧

class Solution {
public:/*** @param a: An integer array* @return: A list of integers includes the index of the first number and the index of the last number*/vector<int> continuousSubarraySum(vector<int> &a) {// write your code hereif (a.size() <= 0) {return {};}std::vector<int> result;// 到达下标i的位置,最大的连续子数组和std::vector<int> dp(a.size(), 0);int max_res = a[0];// 最大连续子数组和的最后一个位置int max_pos = 0;dp[0] = a[0];// 记录之前的位置std::vector<int> dist(a.size(), 0);for (int i = 1; i < a.size(); ++i) {// 最长的位置就是自己dist[i] = i;// 最长的位置的前一个是由i-1得来的位置// 因为是求连续子数组和,所以dp[i],可以由前一个位置+当前位置,或者是当前位置if (dp[i-1] + a[i] >= a[i]) {dist[i] = i-1;}dp[i] = max(dp[i-1] + a[i], a[i]);// 打擂台和结果进行比较if (dp[i] > max_res) {max_res = dp[i];max_pos = i;}}/*int sum = 0;int i = max_pos;for (; i >= 0; --i) {sum += a[i];if (sum == max_res) {break;}}*/// 求得起始位置int pos = max_pos;while (dist[pos] != pos) {pos = dist[pos];}result.push_back(pos);result.push_back(max_pos);return result;}
};

 


http://www.ppmy.cn/news/788946.html

相关文章

rust进水器怎么用_净水器买回来之后 请记得做这几样事情

原标题&#xff1a;净水器买回来之后 请记得做这几样事情 净水器有这么大的功能&#xff0c;那么净水器是不是也像饮水机那样简单容易呢?净水器该怎么用呢?净水器好用吗?今天小编告诉你净水器的使用技巧如下&#xff1a; 1.初次安装的净水器需要把净水机上所有的管路、接头、…

[物理层]物理层基本概念

物理层基本概念 计算机通过传输媒体相连接&#xff0c;传输媒体可分为&#xff1a; 导引型传输介质 双绞线同轴电缆光纤 非导引型传输介质 微波通信(2~40GHz)[2.4GHz和5.8GHz频段的WiFi] 物理层解决的是在网络中传输0和1的问题&#xff0c;考虑怎样才能在连接各种计算机的传…

Chrom/Edge浏览器将网页另存为图片

1、按F12键 2、按Ctrl Shift P 3、在弹出的输入框中输入capture 4、将鼠标点击其中之一即自动另存为图片了。

PDF文件如何另存为

有时候我们需要提取PDF其中一页或进行修改后&#xff0c;不是直接进行保存而是重新另存为一个新的PDF文件&#xff0c;像Word和PPT等文档都很容易操作&#xff0c;PDF文档应该如何操作另存为呢&#xff1f; 一、PDF阅读 像我们常用的极速PDF阅读器的另存为功能键在哪里呢&…

计算机上什么键有存储,电脑的保存快捷键是什么?电脑保存快捷键介绍

我们在使用电脑的时候&#xff0c;经常会需要使用到“保存”这一功能&#xff0c;但是每次都手动用鼠标操作的话就显得不够方便啦。所以我今天就来给你们介绍一种比较方便的方法。那就是使用保存快捷键。小伙伴们快接着往下看吧。 最近小编在逛网页的时候&#xff0c;看到有小伙…

计算机考试怎么另存为,Word2007另存为.doc的更快捷方法

很多朋友已经开始用Word2007替代Word2003等低版本&#xff0c;不过Word2007默认使用*.docx格式作为文档保存格式&#xff0c;考虑到交流的方便&#xff0c;一般还是建议保存为*.doc格式&#xff0c;但这往往需要单击Office按钮&#xff0c;依次选择另存为/Word97-2003文档&…

google chrome常用的一些快捷键

F3在当前打开的标签页进行文本查找F5刷新当前打开的标签页内容F6鼠标键入到浏览器的地址栏上F11全屏显示当前打开的标签页内容F12打开开发者工具控制台Ctrl 0调整缩放比例为100%Ctrl 1 ~ 9可以切换顺序从左至右1~9标签页Ctrl Shift Tab切换上一个标签页Ctrl Tab切换下一个…