美国华人网FuninUSA_唐人社区_北美华人论坛:找礼品卡,找折扣,找报价,找工作,找内推,找项目,找股票

 找回密码
 立即注册

点击进入授权页面

只需一步,快速开始

  • 疑似钟汉良隐婚妻子低调现身剧组探班
  • 森碟家中下腰展现身体柔软 奥运冠军基因强大
  • 范冰冰被曝现身纽约街头 疑似敷着面膜就出来了
  • 曝杨幂手机贴纸系糯米最爱 细节展现母爱
  • 濒死到底是什么感觉?大脑缺氧...
  • 首本小学男生性别教材发布:看完变纯爷们
  • 所罗门群岛7.8级大地震:中国发布大规模海啸预警
  • 后怕!房屋翻修竟发现房顶里藏着手榴弹
  • 罕见!母猪生下猪仔:猪身猴脸吓坏众人
  • 天空同时出现“三个太阳”:让人叹为观止
  • 美国股市道琼指数一路狂飙超过19000点,创下百年来记录-美国房产信息
  • Rusty Braziel预测石油价格下跌
  • Cramer Remix:特朗普管理下的股票风险
  • 12月市场基调是如何转变的
  • 历史新高后,交易商把目光转向欧洲
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3008|回复: 8

内推面经 -求两道题目的代码,学习一下- 唐人社区|北美华人论坛

[复制链接]
TA在交友中心
0 0 30
  @ME:   

16

主题

343

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
QQ
发表于 2016-10-2 18:19:50 | 显示全部楼层 |阅读模式
分享到:
{$content}

唐人社区-北美华人论坛-内推面经版-求两道题目的代码,学习一下


  JobHunting
标 题: 求两道题目的代码,学习一下



1. Tasks: AABABCD
Cooldown Time: 2
A__AB_ABCD
Output: 10
就是说同样类型的task之间至少要等2,每个task的执行时间是1
followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序


2. leetcode,three sum 不用sort 的n^2 代码


求教,有没有java 代码共享一下,打算学习一下。
--
【中国海淘拼单总群】36382164
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

TA在交友中心
0 0 55
  @ME:   

28

主题

99

帖子

147

积分

注册会员

Rank: 2

积分
147
QQ
发表于 2016-10-2 19:54:03 | 显示全部楼层
JobHunting
标  题: Re: 求两道题目的代码,学习一下


    public static int cooldown(String s, int k){
        if(s==null || s.isEmpty()) return 0;
        int n = s.length();
        if(k<=0) return n;
        Map<Character, Integer> indexMap = new HashMap<>();
        int inc=0;
        for(int i=0; i<n; i++){
            char ch = s.charAt(i);
            int apart=i+inc-indexMap.getOrDefault(ch, -k-1);
            if(apart<=k) inc+=k-apart+1;
            indexMap.put(ch, i+inc);
        }
        return n+inc;
    }

【 在 eepecs (ps) 的大作中提到: 】
: 1. Tasks: AABABCD
: Cooldown Time: 2
: A__AB_ABCD
: Output: 10
: 就是说同样类型的task之间至少要等2,每个task的执行时间是1
: followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序
: 2.  leetcode,three sum 不用sort 的n^2 代码
: 求教,有没有java 代码共享一下,打算学习一下。



--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?

TA在交友中心
0 0 66
  @ME:   

28

主题

92

帖子

157

积分

注册会员

Rank: 2

积分
157
QQ
发表于 2016-10-2 20:40:12 | 显示全部楼层
JobHunting
标  题: Re: 求两道题目的代码,学习一下


Do not really know how to do the follow up.


        private static int CoolDown(string tasks, int coolDown)
        {
            if (tasks.Length == 0 || tasks == null)
                return 0;

            Hashtable map = new Hashtable();
            int sum = tasks.Length;
            int gap = 0;
            for(int i = 0;i< tasks.Length; i++)
            {
                char c = tasks[i];
                if(map.ContainsKey(c))
                {
                    int distance = i - (int)map[c] + gap;
                    gap += coolDown - distance + 1;
                    if(distance<= coolDown)
                    {
                        sum += coolDown - distance + 1;
                    }
                    map[c] = i + gap; ;
                }
                else
                {
                    map.Add(c, i+gap);
                }
            }

            return sum;
        }
   

【 在 eepecs (ps) 的大作中提到: 】
: 1. Tasks: AABABCD
: Cooldown Time: 2
: A__AB_ABCD
: Output: 10
: 就是说同样类型的task之间至少要等2,每个task的执行时间是1
: followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序
: 2.  leetcode,three sum 不用sort 的n^2 代码
: 求教,有没有java 代码共享一下,打算学习一下。




--

TA在交友中心
0 0 50
  @ME:   

24

主题

95

帖子

143

积分

注册会员

Rank: 2

积分
143
QQ
发表于 2016-10-2 20:51:05 | 显示全部楼层
JobHunting
标  题: 求两道题目的代码,学习一下



1. Tasks: AABABCD
Cooldown Time: 2
A__AB_ABCD
Output: 10
就是说同样类型的task之间至少要等2,每个task的执行时间是1
followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序


2.  leetcode,three sum 不用sort 的n^2 代码


求教,有没有java 代码共享一下,打算学习一下。
--
TA在交友中心
0 0 34
  @ME:   

16

主题

87

帖子

112

积分

注册会员

Rank: 2

积分
112
QQ
发表于 2016-10-2 20:51:44 | 显示全部楼层
JobHunting
标  题: Re: 求两道题目的代码,学习一下


1. HashMap last cool down?
    A, 0
    A, 0 + cooldown
    B, 4


2. HashMap<> : keep 2 sum pairs, sum, them run again check.

【 在 eepecs (ps) 的大作中提到: 】
: 1. Tasks: AABABCD
: Cooldown Time: 2
: A__AB_ABCD
: Output: 10
: 就是说同样类型的task之间至少要等2,每个task的执行时间是1
: followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序
: 2.  leetcode,three sum 不用sort 的n^2 代码
: 求教,有没有java 代码共享一下,打算学习一下。



--

TA在交友中心
0 0 51
  @ME:   

21

主题

87

帖子

137

积分

注册会员

Rank: 2

积分
137
QQ
发表于 2016-10-2 21:37:27 | 显示全部楼层
JobHunting
标  题: Re: 求两道题目的代码,学习一下


2. How to handle duplicate then?

【 在 echoisles (echoisles) 的大作中提到: 】
: 1. HashMap last cool down?
:     A, 0
:     A, 0 + cooldown
:     B, 4
: 2. HashMap<> : keep 2 sum pairs, sum, them run again check.



--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?
TA在交友中心
0 0 49
  @ME:   

22

主题

97

帖子

145

积分

注册会员

Rank: 2

积分
145
QQ
发表于 2016-10-2 22:14:04 | 显示全部楼层
JobHunting
标  题: Re: 求两道题目的代码,学习一下



followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序

cooldown很大,没看出需要怎么修改啊。哪位大牛说说?

【 在 eepecs (ps) 的大作中提到: 】
: 1. Tasks: AABABCD
: Cooldown Time: 2
: A__AB_ABCD
: Output: 10
: 就是说同样类型的task之间至少要等2,每个task的执行时间是1
: followup: 如果cooldown是个参数,也就是说有可能会很长时间,怎么修改之前的程序
: 2.  leetcode,three sum 不用sort 的n^2 代码
: 求教,有没有java 代码共享一下,打算学习一下。


--
Look. If you had one shot or one opportunity to seize everything you ever wanted in one moment.
Would you capture it or just let it slip?
TA在交友中心
0 0 1075
  @ME:   

26

主题

1083

帖子

2158

积分

金牌会员

Rank: 6Rank: 6

积分
2158
QQ
发表于 2016-10-25 10:32:59 | 显示全部楼层
前排支持下了哦~
TA在交友中心
0 0 1054
  @ME: 

24

主题

1084

帖子

2138

积分

金牌会员

Rank: 6Rank: 6

积分
2138
发表于 2016-10-29 17:01:43 | 显示全部楼层
众里寻他千百度,蓦然回首在这里!
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

玩美生活FunInUSA.net 华人娱乐论坛发布的内推面经 -求两道题目的代码,学习一下- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -求两道题目的代码,学习一下- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
1&1 Hosting

Copyright ©2011 FunInUSA.com All Right Reserved.  Powered by Discuz! X3.0 小黑屋

本站信息均由会员发表,不代表美国华人网FunInUSA立场,如侵犯了您的权利请发帖投诉  技术支持: 美国华人网FunInUSA

安全联盟认证 安全联盟认证

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