LintCode 子數(shù)組之和

題目

給定一個整數(shù)數(shù)組,找到和為零的子數(shù)組。你的代碼應(yīng)該返回滿足要求的子數(shù)組的起始位置和結(jié)束位置

樣例
給出 [-3, 1, 2, -3, 4],返回[0, 2]或者 [1, 3]

分析

這里用了一個技巧:將數(shù)組從第一位依次相加,記錄每次的結(jié)果,如果map里面沒有,就加入map里,如果有,就證明前面肯定有為0的子數(shù)組,才會出現(xiàn)一樣的和。

代碼

public class Solution {
    /**
     * @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
     */
    public ArrayList<Integer> subarraySum(int[] nums) {
        // write your code here
        int len = nums.length;
       
        ArrayList<Integer> ans = new ArrayList<Integer>();
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
       
        map.put(0, -1);
       
        int sum = 0;
        for (int i = 0; i < len; i++) {
            sum += nums[i];
           
            if (map.containsKey(sum)) {
                ans.add(map.get(sum) + 1);
                ans.add(i);
                return ans;
            }
            
            map.put(sum, i);
        }
       
        return ans;
    }
}

.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 給定一個整數(shù)數(shù)組,找到和為零的子數(shù)組。你的代碼應(yīng)該返回滿足要求的子數(shù)組的起始位置和結(jié)束位置注意事項There is...
    DayDayUpppppp閱讀 233評論 0 0
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 難度:容易 要求: 給定一個整數(shù)數(shù)組,找到和為零的子數(shù)組。你...
    柒黍閱讀 291評論 0 0
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,677評論 0 4
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,914評論 0 33
  • Git圖解 BY 童仲毅(geeeeeeeeek@github)這是一篇在原文基礎(chǔ)上演繹的文章。原作者Mark L...
    奇諾小潔_a6c3閱讀 335評論 0 0

友情鏈接更多精彩內(nèi)容