美文网首页
第一篇(lintcode 138)

第一篇(lintcode 138)

作者: weiyongzhiaaa | 来源:发表于2018-09-14 12:30 被阅读0次

    Array 类型的题目,用hashmap 可以找到特定和的组合:

    1,求两者之和为固定某数

      if (map.contains(sum - curtValue)) {

          index1 = map.get(sum - curtValue);

          index2 = curtIndex;

          break;

      }

    2,求两个index之间的所有数的和为某数

      if (map.contains(curtSum - sum)) {

          index1 = map.get(curtSum - sum);

          index2 = curtIndex;

          break;

      }

    题目:

    138. Subarray Sum

    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.

    Example

    Given [-3, 1, 2, -3, 4], return [0, 2] or [1, 3].

    Notice

    There is at least one subarray that it's sum equals to zero.

    code:

    第一步put(0,-1)是给从第一位开始的子数列设置原点,整体思路是从某一位开始,往后几位加起来和为0,也就是这一位数字重复出现了,那么这一位后面开始1位(也就是mp.get()+1),到现在循环到的第i位,是和为0的子数列。

    相关文章

      网友评论

          本文标题:第一篇(lintcode 138)

          本文链接:https://www.haomeiwen.com/subject/ngengftx.html