推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 1452|回复: 12
收起左侧

G分享easy题攒人品系列

[复制链接] |试试Instant~ |关注本帖
zhjy23212 发表于 2016-3-23 05:44:54 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Google - 校园招聘会 - 技术电面 |Otherfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
Google电面,慌得不行,之前就有预感要挂。打来电话发现自己算错时区,还没有夏令时,结果慌慌张张找个房间让人再打过来。
. Waral 鍗氬鏈夋洿澶氭枃绔,
问题属于LC简单级别的:
1、array 含有 0,1,2, 返回能把0放在数列同一边的最小swap值
2、array中只有一个重复数,找出它.鏈枃鍘熷垱鑷1point3acres璁哄潧

第二个,脑子里只有single number的题目,二话不说XOR,但是手算一遍发现不对. from: 1point3acres.com/bbs
乖乖用set.1point3acres缃
问我能不能减少space,还是想用xor,没想出来
结果发现题目说的是长度N+1的数列里有1-N个数
高斯求和啊!!!!!

感觉思维一直被限制在xor,对面估计已经在想“MDZZ”了。. 鍥磋鎴戜滑@1point 3 acres

纯当体验一下技术电面,祝大家好运。

评分

1

查看全部评分

ninacc 发表于 2016-3-23 08:16:57 | 显示全部楼层
请问楼主第一题 是数0的个数吗?题目没怎么明白 谢谢!
回复 支持 1 反对 0

使用道具 举报

头像被屏蔽
bitware 发表于 2016-3-23 09:37:41 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽
bitware 发表于 2016-3-23 09:39:43 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽
bitware 发表于 2016-3-23 09:40:10 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

zsuyu0629 发表于 2016-3-23 10:22:58 | 显示全部楼层
bitware 发表于 2016-3-23 09:40
高斯求和好像并不能解决啊

按楼主所说:N=3的话,数组有只有一个重复,那只会是1,2,2,3.不会有三个2. 那直接array sum 再减高斯求和就对了
回复 支持 反对

使用道具 举报

zsuyu0629 发表于 2016-3-23 10:27:34 | 显示全部楼层
bitware 发表于 2016-3-23 09:40
高斯求和好像并不能解决啊
. from: 1point3acres.com/bbs
失误。去看了下lc上的描述,是会有三个222的情况。sorry
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-3-23 10:46:54 | 显示全部楼层
ninacc 发表于 2016-3-23 08:16
请问楼主第一题 是数0的个数吗?题目没怎么明白 谢谢!

你这样肯定不对  如果是000111222不就不用swap了么
回复 支持 反对

使用道具 举报

ninacc 发表于 2016-3-23 11:13:12 | 显示全部楼层
hitowings 发表于 2016-3-22 21:46. From 1point 3acres bbs
你这样肯定不对  如果是000111222不就不用swap了么

看不懂题目什么意思啊,能麻烦举个例子吗
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-3-23 11:32:54 | 显示全部楼层
ninacc 发表于 2016-3-23 11:13
看不懂题目什么意思啊,能麻烦举个例子吗

我感觉楼主意思就是把0全部放到左边或全部放到右边最少要多少swap.鐣欏璁哄潧-涓浜-涓夊垎鍦
比如输入  10210  放左边需要两次swap  放右边需要一次swap
回复 支持 反对

使用道具 举报

alpenliebe 发表于 2016-3-24 05:47:17 | 显示全部楼层
hitowings 发表于 2016-3-23 11:32. 鍥磋鎴戜滑@1point 3 acres
我感觉楼主意思就是把0全部放到左边或全部放到右边最少要多少swap
比如输入  10210  放左边需要两次swap ...

放左边也是1次
  1. public int getNumOfSwap(int[] nums){. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  2.         if(nums == null || nums.length < 3)
  3.                 return 0;
  4.         int n = nums.length;
  5.         int count = 0;
  6. for(int i = 0; i < n; i++){
  7.         if(nums[i] == 0)
  8.                 count++;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  9. }
  10. int leftCount = count, rightCount = count;
  11. for(int i = 0; i < count; i++ ){
  12.         if(nums[i] == 0). From 1point 3acres bbs
  13.                 leftCount--;
  14.         if(nums[n-1-i] == 0). Waral 鍗氬鏈夋洿澶氭枃绔,
  15.                 rightCount--;
  16. }
  17. return Math.min(leftCount, rightCount);
  18. }
复制代码
回复 支持 反对

使用道具 举报

hitowings 发表于 2016-3-24 05:49:44 | 显示全部楼层

啊对  我智障了 你是正解
回复 支持 反对

使用道具 举报

Fustang 发表于 2016-3-24 06:13:04 | 显示全部楼层
第二题链接。。。
https://leetcode.com/problems/find-the-duplicate-number/
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-8-24 09:19

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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