美国华人网FuninUSA|唐人社区|北美华人论坛:找好货,找礼品卡,找折扣,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • 喜大普奔!科技将让人类远离疾病
  • 无敌是多么寂寞 AlphaGo再胜柯洁
  • 《新木乃伊》伦敦首映礼因曼彻斯特恐袭取消
  • 《死侍2》又添“新面孔”
  • 因恐怖袭击,《神奇女侠》伦敦首映礼临时取消
  • 百度语音系统与人接近 可“完美”模仿各种口音
  • 浙大“赤兔”机器人:能小跑、奔跑、爬楼梯
  • 揭秘:泳池里充满各种细菌 但不至于让你患病
  • 美媒:中国打造世界级包装食品公司
  • 美媒:生活节奏太紧,年轻时尚设计师飞往厦门
  • 比特币再发“洪荒之力”,5天收益增加40%
  • 诺奖得主Robert Shiller:美股市场还能上涨50%
  • 6月又要加息了?
  • 买入苹果吧!iphone8的超级周期来了
  • Jeff Gundlach:比特币飙升与中国股市的下跌有关系
  • 放弃容易但是想要重新拥有中国难
  • 软银悄悄地成为了NVIDIA 第四大股东
  • 重返线下:亚马逊在纽约的第一家实体书店开张
  • 德州华人中餐馆老板逃税16万美金
  • 我国著名学者访美时遭谋杀
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3035|回复: 8

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

[复制链接]

17

主题

356

帖子

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

主题

106

帖子

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

主题

101

帖子

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

主题

102

帖子

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

主题

98

帖子

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

主题

99

帖子

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?

25

主题

109

帖子

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?

29

主题

1226

帖子

2449

积分

金牌会员

Rank: 6Rank: 6

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

26

主题

1177

帖子

2326

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

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

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

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

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

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