楼主: zhenjieruan
跳转到指定楼层
上一主题 下一主题
收起左侧

Facebook新鲜面经!!!

🔗
 楼主| zhenjieruan 2016-3-2 13:16:22 | 只看该作者
全局:
lyburke 发表于 2016-3-2 13:04
LZ考的第一题和我面的一样。。。可以写的更简洁一些

嗯嗯,可以指点一下吗?谢谢
回复

使用道具 举报

全局:
spwahaha 发表于 2016-3-2 10:03
这道题为什么不能用DFS?

可以用啊。。。dfs。。
回复

使用道具 举报

全局:
lyburke 发表于 2016-3-2 13:04
LZ考的第一题和我面的一样。。。可以写的更简洁一些

大神快指导。。
回复

使用道具 举报

🔗
zxl9171 2016-3-2 14:38:09 | 只看该作者
全局:
spwahaha 发表于 2016-3-2 10:03
这道题为什么不能用DFS?

因为题目要求是同一列中顺序由level的高低决定,如果dfs则不能保证这一顺序,只能保证左子树排在右子树前边。。。如果没有这个要求,dfs也行。
回复

使用道具 举报

🔗
sherry0419 2016-3-2 22:22:42 | 只看该作者
全局:
zhenjieruan 发表于 2016-3-2 13:16
嗯嗯,可以指点一下吗?谢谢

用两个指针,从左右两边扫,类似merge sort,结果从后往前加,O(n)一遍就可以解决啦
回复

使用道具 举报

🔗
spwahaha 2016-3-3 00:22:21 | 只看该作者
全局:
xiaozhuxiaozhu 发表于 2016-3-2 13:18
可以用啊。。。dfs。。

我也举得可以用,而且应该比BFS好写吧,
但是楼主和面试官不是说BFS有问题还是什么的
回复

使用道具 举报

🔗
jasonsfk 2016-3-3 05:01:48 | 只看该作者
全局:
第一题 扫一遍可以吗?
  1. public class Solution {
  2.         public int[] square(int[] nums) {
  3.                 if (nums == null || nums.length == 0) return new int[0];
  4.                 int left = 0, right = nums.length - 1, index = right;
  5.                 int[] res = new int[nums.length];
  6.                 while (left <= right) {
  7.                         if (Math.abs(nums[left]) >= Math.abs(nums[right])) {
  8.                                 nums[index--] = nums[left] * nums[left];
  9.                                 left++;
  10.                         }else if (Math.abs(nums[left]) < Math.abs(nums[right])) {
  11.                                 nums[index--] = nums[right] * nums[right];
  12.                                 right--;
  13.                         }
  14.                 }
  15.                 return res;
  16.         }
  17. }
复制代码

评分

参与人数 1大米 +10 收起 理由
xiaozhuxiaozhu + 10 感谢分享!

查看全部评分

回复

使用道具 举报

🔗
lyburke 2016-3-3 05:11:59 | 只看该作者
全局:

不是大神= =就是先声明一个和输入等长的结果array,然后用左右指针比较对应值的绝对值大小,绝对值较大的将其平方放入结果array末尾,就这样一步步从后往前放结果。。。这样不用考虑全正,全负还是有正有负
回复

使用道具 举报

🔗
 楼主| zhenjieruan 2016-3-3 06:22:55 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
lyburke 发表于 2016-3-3 05:11
不是大神= =就是先声明一个和输入等长的结果array,然后用左右指针比较对应值的绝对值大小,绝对值较大的 ...

大神,看不懂汉语,能写格code么。 +大米 10
回复

使用道具 举报

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

本版积分规则

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