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

 找回密码
 立即注册
  • 女汉子又回来了!辣妈angelababy一大清早就健身
  • 好事将近!方媛现身办理港澳通行证
  • 李晨被问要不要娶女友 范冰冰秒答七个字
  • 黄轩终于回应恋情了:试图开始一段感情但不合适
  • 姐的时尚你不懂!蔡依林内衣外穿秀出小蛮腰
  • 和高圆圆接吻什么感觉?赵又廷竟然说…
  • 说好的承诺呢?冯轲被曝未将财产转移给张靓颖
  • 冯轲晒股权变更信息自己仅持有十万 990万给靓颖
  • 全球首座“竹子”基站亮相:抗风210公里/小时
  • 英国狗狗痴迷可口可乐每天必喝:16颗牙掉了12颗
  • 炒房成房东?还是炒股当股东!
  • AMD的股价将进一步上涨
  • Triforce:英特尔、NVIDIA和AMD,你选择哪个?
  • 零售死亡漩涡继续
  • 中国电信开启5G网络时代
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3024|回复: 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

主题

101

帖子

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

主题

97

帖子

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

主题

99

帖子

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

19

主题

93

帖子

130

积分

注册会员

Rank: 2

积分
130
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

主题

96

帖子

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?

23

主题

103

帖子

151

积分

注册会员

Rank: 2

积分
151
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

主题

1190

帖子

2372

积分

金牌会员

Rank: 6Rank: 6

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

26

主题

1148

帖子

2267

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

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

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

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

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

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