#138 Subarray Sum
来源:互联网 发布:证件照蓝底渐变软件 编辑:程序博客网 时间:2024/06/04 18:52
题目描述:
Given an integer array, find a subarray where the sum of numbers is zero. Your code should return the index of the first number and the index of the last number.
Notice
There is at least one subarray that it's sum equals to zero.
Example
题目思路:Given [-3, 1, 2, -3, 4]
, return [0, 2]
or [1, 3]
.
首先建立一个presum array,对于每个presum中的元素i,它的value为sum of all elements <= i in nums array.那么要求subarray where the sum of numbers is zero,那就意味着求两个index i和j,使presum[i] = presum[j]。在不断算presum的过程中,用一个map把之前算过的presum value和它对应的index存起来。当当前的presum在map中能找到时,就找到了两个符合题意的index。
Mycode(AC = 1842ms):
class Solution {public: /** * @param nums: A list of integers * @return: A list of integers includes the index of the first number * and the index of the last number */ vector<int> subarraySum(vector<int> nums){ // write your code here vector<int> ans(2, 0); if (nums.size() <= 1) return ans; vector<int> presum(nums.size() + 1, 0); map<int, int> helper; helper[presum[0]] = 0; // use a map to store the presum value and // its index which appeared before for (int i = 1; i <= nums.size(); i++) { presum[i] = presum[i - 1] + nums[i - 1]; if (helper.find(presum[i]) != helper.end()) { ans[0] = helper[presum[i]]; ans[1] = i - 1; break; } else { helper[presum[i]] = i; } } return ans; }};
0 0
- #138 Subarray Sum
- Subarray Sum
- Subarray Sum
- subarray sum
- Subarray Sum
- Subarray Sum
- Max-Sum Subarray
- Minimum Size Subarray Sum
- Minimum Size Subarray Sum
- Minimum Size Subarray Sum
- Minimum size subarray sum
- leetcode_Minimum Size Subarray Sum
- Minimum Size Subarray Sum
- Minimum Size Subarray Sum
- lintcode:Continuous Subarray Sum
- Minimum Size Subarray Sum
- Minimum Size Subarray Sum
- Minimum Size Subarray Sum
- MatConvNet 源码解析
- 用面向对象的方法求圆的面积
- linux安装python3.5
- HDOJ 5726 线段树 + map
- fedora23新系统没网时使用以前缓存的rpm包
- #138 Subarray Sum
- 2016.07.16【初中部 NOIP提高组 】模拟赛C题解
- IEEE 754 标准
- 搭建Elasticsearch分布式集群
- is not in the sudoers file
- R语言数据类型转换 List Vector Dataframe
- 利用反射,找出某类的所有方法,构造器和全部域名
- 关于安装配置ambari时遇到的问题及解决办法
- git使用小记