LintCode - 子數組之和(普通)

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

難度:容易
要求:

給定一個整數數組,找到和為零的子數組。你的代碼應該返回滿足要求的子數組的起始位置和結束位置

樣例

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

思路

    /**
     * @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) {
        int start = 0;
        int end = 0;
        int sum = 0;
        labe:for(int i = 0; i < nums.length; i++){
            sum = 0;
            start = i;
            for(int j = i; j < nums.length; j++){
                sum += nums[j];
                if(sum == 0){
                    end = j;
                    break labe;
                }
            }
        }
        
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(start);
        list.add(end);
        return list;
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容