查看: 1091| 回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] subarray sum 用js怎么做

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
用JS 刷题,一遇到hash table就各种费劲,又不太懂java。 比如这道,初始化了map {0:0}, 接下来在check map.containsKey(sum), 不会因为已经有sum == 0的情况而直接return ans 吗
还有这道题用js怎么做啊

[color=rgba(0, 0, 0, 0.65)][b]Description[/b]
[color=rgba(0, 0, 0, 0.65)]
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.
[color=rgba(0, 0, 0, 0.65)][b]Example[/b]

[color=rgba(0, 0, 0, 0.65)]
Given [-3, 1, 2, -3, 4], return [0, 2] or [1, 3].





  1. public class Solution {
  2.     /**
  3.      * @param nums: A list of integers
  4.      * @return: A list of integers includes the index of the first number and the index of the last number
  5.      */
  6.     public List<Integer> subarraySum(int[] nums) {
  7.         
  8.         int len = nums.length;
  9.       
  10.         ArrayList<Integer> ans = new ArrayList<Integer>();
  11.         HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
  12.       
  13.         map.put(0, 0);
  14.       
  15.         int sum = 0;
  16.         for (int i = 0; i < len; i++) {
  17.             sum += nums[i];
  18.             if (map.containsKey(sum)) {
  19.                 ans.add(map.get(sum));
  20.                 ans.add(i);
  21.                 return ans;
  22.             }
  23.             
  24.             map.put(sum, i + 1);
  25.         }
  26.       
  27.         return ans;

  28.     }
  29. }
复制代码


上一篇:请教一道算法题
下一篇:踩比赞多的题做不做
您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表