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

 找回密码
 立即注册
  • AMC宣布续订《深入恶土》第三季
  • 每喝一罐无糖饮料 就离老年痴呆更近一步
  • 美国一男子喝醉酒狂殴硅谷明星机器人:惨遭逮捕
  • 高压水刀威力到底有多大?暴力切割电磁炉
  • 丹麦生蚝泛滥成灾官微求助 吃货不淡定了
  • 癌症 为啥一发现就是晚期?无奈……
  • 科学家称地球存外星文明技术证据:藏于地下
  • 苍蝇爬过的食物千万别吃:原因自己看……
  • 科学家:外星人已出现在地球 景象是这样
  • 世界最大兔子搭美联航飞机转移:竟途中暴毙
  • 特朗普的狂想——不切实际的公司税计划
  • AMD:增长和损失同在,有改变才会有进步
  • 好消息!纳斯达克指数首破6000点,道指和纳指涨势喜人
  • Tom Lee警示下行风险,揭示市场三大“地雷”
  • 在Buffalo Wild Wings季度财报中出现了“天文误差”
  • 巴菲特该高兴了,IBM加息至每股1.5美元
  • 好消息!纳斯达克指数首破6000点,道指和纳指涨势喜人
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3030|回复: 8

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

[复制链接]

17

主题

352

帖子

380

积分

中级会员

Rank: 3Rank: 3

积分
380
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 代码共享一下,打算学习一下。
--

回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

30

主题

103

帖子

160

积分

注册会员

Rank: 2

积分
160
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?

29

主题

99

帖子

165

积分

注册会员

Rank: 2

积分
165
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 代码共享一下,打算学习一下。




--

24

主题

100

帖子

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 代码共享一下,打算学习一下。
--

20

主题

96

帖子

138

积分

注册会员

Rank: 2

积分
138
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 代码共享一下,打算学习一下。



--

23

主题

97

帖子

145

积分

注册会员

Rank: 2

积分
145
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?

26

主题

106

帖子

163

积分

注册会员

Rank: 2

积分
163
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?

28

主题

1217

帖子

2426

积分

金牌会员

Rank: 6Rank: 6

积分
2426
QQ
发表于 2016-10-25 10:32:59 | 显示全部楼层
前排支持下了哦~

26

主题

1164

帖子

2297

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

美国华人网|唐人社区|什么值得买FunInUSA.net发布的内推面经 -求两道题目的代码,学习一下- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -求两道题目的代码,学习一下- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
Sasa.com

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

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

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

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