一亩三分地论坛

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

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

G分享easy题攒人品系列

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

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

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

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

x
Google电面,慌得不行,之前就有预感要挂。打来电话发现自己算错时区,还没有夏令时,结果慌慌张张找个房间让人再打过来。

问题属于LC简单级别的:
1、array 含有 0,1,2, 返回能把0放在数列同一边的最小swap值-google 1point3acres
2、array中只有一个重复数,找出它
. from: 1point3acres.com/bbs
第二个,脑子里只有single number的题目,二话不说XOR,但是手算一遍发现不对
乖乖用set
问我能不能减少space,还是想用xor,没想出来
结果发现题目说的是长度N+1的数列里有1-N个数
高斯求和啊!!!!!. from: 1point3acres.com/bbs

感觉思维一直被限制在xor,对面估计已经在想“MDZZ”了。

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

评分

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 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
高斯求和好像并不能解决啊

失误。去看了下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
你这样肯定不对  如果是000111222不就不用swap了么

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

使用道具 举报

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

我感觉楼主意思就是把0全部放到左边或全部放到右边最少要多少swap
比如输入  10210  放左边需要两次swap  放右边需要一次swap
回复 支持 反对

使用道具 举报

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

放左边也是1次
  1. public int getNumOfSwap(int[] nums){. From 1point 3acres bbs
  2.         if(nums == null || nums.length < 3)
  3.                 return 0;
  4.         int n = nums.length;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  5.         int count = 0;
  6. for(int i = 0; i < n; i++){
  7.         if(nums[i] == 0)
    . 鍥磋鎴戜滑@1point 3 acres
  8.                 count++;
  9. }. Waral 鍗氬鏈夋洿澶氭枃绔,
  10. int leftCount = count, rightCount = count;
  11. for(int i = 0; i < count; i++ ){
  12.         if(nums[i] == 0)
  13.                 leftCount--;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  14.         if(nums[n-1-i] == 0). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  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/
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-3 08:38

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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