一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1632|回复: 15
收起左侧

Google 新鲜面筋

[复制链接] |试试Instant~ |关注本帖
一岁上山采药 发表于 2016-2-17 03:14:11 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Failfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
刚刚面碗谷歌,发一个面筋
找最长连续子序列,要求这个子序列的和为0. 比如[4, 8, 3, -7, -4, 8], 应该得到[3, -7, -4, 8]。
楼主这么简单的题都做不来,挂了挂了,请给点大米安慰一下吧。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

评分

3

查看全部评分

本帖被以下淘专辑推荐:

  • · google|主题: 57, 订阅: 5
bobzhang2004 发表于 2016-2-17 10:59:54 | 显示全部楼层
这个题是prefix sum加hashmap吧?
回复 支持 1 反对 0

使用道具 举报

lpx1989 发表于 2016-2-17 09:11:08 | 显示全部楼层
这个题是要反回这个子序列还是返回子序列长度
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-17 11:06:24 | 显示全部楼层
bobzhang2004 发表于 2016-2-17 10:59. from: 1point3acres.com/bbs
这个题是prefix sum加hashmap吧?
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
写了下代码, time: O(n), space O(n)
  1. public class LongestSubarrayEqualsZero {
  2.        
  3.         public static void main(String[] args) {
  4.                 int[] arr = {4, 8, 3, -7, -4, 8};
  5.                 System.out.println(getLongestSubarrayEqualsZero(arr));. Waral 鍗氬鏈夋洿澶氭枃绔,
  6.         }
  7.         public static int getLongestSubarrayEqualsZero(int[] arr) {
  8.                 if (arr == null || arr.length == 0) {
    鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  9.                         return 0;
  10.                 }
  11.                 for (int i = 1; i < arr.length; i++) {
  12.                         arr[i] += arr[i - 1];
  13.                 }
  14.                 HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
  15.                 map.put(0, -1);
  16.                 int max = 0;
  17.                 for (int i = 0; i < arr.length; i++) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  18.                         if (map.containsKey(arr[i])) {
  19.                                 max = Math.max(max, i - map.get(arr[i]));. 1point3acres.com/bbs
  20.                         } else {
  21.                                 map.put(arr[i], i);
  22.                         }
  23.                 }
  24.                 . 1point3acres.com/bbs
  25.                 return max;
  26.         }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  27. }
复制代码
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-17 11:07:26 | 显示全部楼层
bobzhang2004 发表于 2016-2-17 11:06
写了下代码, time: O(n), space O(n)

如果是返回subarray的话,就记录起始点和长度就行了,结束后,从起点到长度加进去,还是O(n)
回复 支持 反对

使用道具 举报

lpx1989 发表于 2016-2-17 11:12:50 | 显示全部楼层
bobzhang2004 发表于 2016-2-16 22:59
这个题是prefix sum加hashmap吧?
.鐣欏璁哄潧-涓浜-涓夊垎鍦
不用hashmap,dp,额外一个需要两个数组记录状态就行. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

补充内容 (2016-2-16 23:13):
用DP,额外两个数组
回复 支持 反对

使用道具 举报

mymax2009 发表于 2016-2-17 11:55:11 | 显示全部楼层
感谢分享啊 楼主mmt, 请问你是电面写doc的吗?
回复 支持 反对

使用道具 举报

 楼主| 一岁上山采药 发表于 2016-2-17 12:44:56 | 显示全部楼层
lpx1989 发表于 2016-2-17 09:11
这个题是要反回这个子序列还是返回子序列长度

对,返回序列
回复 支持 反对

使用道具 举报

 楼主| 一岁上山采药 发表于 2016-2-17 12:47:17 | 显示全部楼层
bobzhang2004 发表于 2016-2-17 11:06
写了下代码, time: O(n), space O(n)

没错,就是这样,但是当时没做出来,太可惜了
回复 支持 反对

使用道具 举报

 楼主| 一岁上山采药 发表于 2016-2-17 12:48:00 | 显示全部楼层
mymax2009 发表于 2016-2-17 11:55
感谢分享啊 楼主mmt, 请问你是电面写doc的吗?

是的,打电话,写doc
回复 支持 反对

使用道具 举报

wtcupup 发表于 2016-2-17 12:50:07 | 显示全部楼层
https://leetcode.com/problems/maximum-size-subarray-sum-equals-k/
是这道题吗?
回复 支持 反对

使用道具 举报

 楼主| 一岁上山采药 发表于 2016-2-17 13:05:42 | 显示全部楼层
wtcupup 发表于 2016-2-17 12:50
https://leetcode.com/problems/maximum-size-subarray-sum-equals-k/
是这道题吗?

貌似是的
回复 支持 反对

使用道具 举报

todayand 发表于 2016-2-18 05:35:39 | 显示全部楼层
lpx1989 发表于 2016-2-17 11:12-google 1point3acres
不用hashmap,dp,额外一个需要两个数组记录状态就行

补充内容 (2016-2-16 23:13):
.鐣欏璁哄潧-涓浜-涓夊垎鍦
可以讲讲dp具体怎么做吗?
回复 支持 反对

使用道具 举报

wju1556 发表于 2016-2-23 19:49:55 | 显示全部楼层
这个不是子序列,这是sub array, subsequence不一定是连续的……
回复 支持 反对

使用道具 举报

xika22 发表于 2016-2-26 12:31:40 | 显示全部楼层
感谢楼主分享,学习了

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

tianlu1 发表于 2016-2-27 00:04:22 | 显示全部楼层
这是Leetcode 原题, 用HashMap做。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-4 14:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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