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

Bloomberg电面跪经

全局:

2017(10-12月) 码农类General 硕士 全职@bloomberg - 网上海投 - 技术电面  | | Fail | 应届毕业生

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

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

x
报个跪经吧~ 要实现一个一维的消消乐,也就是多于三个连续的元素要删掉,要考虑级联输入(1,2,2,2,1)要输出(1,1)

输入(1,2,2,2,1,1)要输出()
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
em29.gif" smilieid="111" border="0" alt="" />

评分

参与人数 1大米 +20 收起 理由
whdawn + 20

查看全部评分


上一篇:Citi电面 求昂塞特
下一篇:Oracle电面两个组
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
  1. import java.util.*;
  2. class Untitled {
  3.         public static void main(String[] args) {
  4.                 eliminateContinuous(new int[]{1,2,2,1,1,3,3,3,1});
  5.         }
  6.        
  7.         public static void eliminateContinuous(int[] nums) {
  8.                 int l = 0;
  9.                 List<Integer> list = new ArrayList<Integer>();
  10.                 for (int num : nums) {
  11.                         list.add(num);
  12.                 }
  13.                 int i = 0;
  14.                 for (i = 0; i < nums.length; i++)  {
  15.                         if (l - 2 < 0 || nums[i] != nums[l-1] || nums[i] != nums[l-2]) {
  16.                                 nums[l++] = nums[i];
  17.                                 continue;
  18.                         } else {
  19.                                 l = l - 2;
  20.                         }
  21.                 }
  22.                
  23.                 for (i = 0; i < l - 1; i++) {
  24.                         System.out.print(nums[i]);
  25.                         System.out.print(",");
  26.                 }
  27.                 System.out.print(nums[l-1]);
  28.         }
  29. }
复制代码
回复

使用道具 举报

🔗
SlashNinja 2017-11-4 23:36:31 | 只看该作者
全局:
我感觉是维护两个stack,
一个stack用来存元素,
一个stack用来存当前重复元素的个数,
当第二个stack中的顶端的个数达到3的时候就开始分别从两个stack中pop。
回复

使用道具 举报

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

使用道具 举报

🔗
SlashNinja 2017-11-4 23:56:52 | 只看该作者
全局:
patpat, 没事儿的,说不定有好消息。没有也没关系,继续move on。加油!
回复

使用道具 举报

🔗
mikemike0 2017-11-5 00:15:39 | 只看该作者
全局:
SlashNinja 发表于 2017-11-4 23:36
我感觉是维护两个stack,
一个stack用来存元素,
一个stack用来存当前重复元素的个数,

還是有點不太明白><!
怎麼存當前重複元素的個數?
回复

使用道具 举报

🔗
LeeYYY 2017-11-5 01:28:14 | 只看该作者
全局:
SlashNinja 发表于 2017-11-4 23:56
patpat, 没事儿的,说不定有好消息。没有也没关系,继续move on。加油!

同求问。如何maitain这个重复元素个数的stack。。谢谢大神!
回复

使用道具 举报

全局:
SlashNinja 发表于 2017-11-4 23:36
我感觉是维护两个stack,
一个stack用来存元素,
一个stack用来存当前重复元素的个数,

用stack就不算in place了?  那in place版本怎么做
回复

使用道具 举报

🔗
maruko_suki 2017-11-5 02:00:21 | 只看该作者
全局:
只要一个stack就行,这个stack里可以同时maintain每个元素值和它连续的个数
如果你push的值与当前值一样的话,只要更新它的连续个数就行
这个方法一定是不in-place, in-place的话可能需要两个指针,一个往后一个往前

评分

参与人数 1大米 +3 收起 理由
random_who + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

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

使用道具 举报

🔗
 楼主| Ryo 2017-11-5 03:08:30 | 只看该作者
全局:
水浅王八多 发表于 2017-11-5 02:42
应该是two pointers(slow and fast) 和一个int counter就可以解决了吧,有重复的时候fast不停地后移,count ...

他要用链表,而且122213331这种情况,你的算法把2和3删掉了会剩下3个1?
回复

使用道具 举报

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

本版积分规则

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