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

 找回密码
 立即注册
  • 否认完南京大屠杀又抨击犹太人 APA这是要撕全世界?
  • 中国发起“厕所革命”:各国管理洗手间方式大不同
  • 宋小宝龙凤胎曝光!颜值竟然这么高
  • 于正谈"袁姗姗滚出娱圈":自己经历过的一件大事
  • 上海戏剧学院艺考进入三试阶段 林妙可初试就落榜
  • 有点乱 张俪男友朱镇模自曝曾被章子怡暗恋
  • 美媒:美海关严查持F1签证者 多名中国留学生被遣返
  • 日媒:特朗普在贸易层面上点名批评中日 有何目的?
  • 美媒:特朗普欲将工厂搬回美 是否影响中方战略?
  • 揭秘中国生物安全实验室:研究世上最危险病原体
  • Ryzen将发布,AMD股价有望从10美元增长到25美元
  • Facebook股价创历史新高
  • 美联储加息与否将给市场带来影响
  • 市场虽有下行风险,但不建议脱离股市
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3019|回复: 8

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

[复制链接]

17

主题

349

帖子

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奇虎

举报

29

主题

100

帖子

157

积分

注册会员

Rank: 2

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

28

主题

96

帖子

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




--

24

主题

98

帖子

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

主题

92

帖子

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

主题

94

帖子

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

主题

101

帖子

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?

26

主题

1156

帖子

2302

积分

金牌会员

Rank: 6Rank: 6

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

26

主题

1124

帖子

2220

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

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

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

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

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

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