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

 找回密码
 立即注册
  • "新闻联播"迎来新的男主播刚强 与海霞搭档亮相
  • 刘若英谈与周迅19年友情:有些东西一直不变真好
  • Selina离婚后放得开:我胸前是满满的大平台
  • 世界第二个“三亲宝宝”降生!一个娃两个妈
  • 画面惊呆!母子双双变性成世界首对变性父女
  • 赵又廷自曝不为人知的秘密 竟还和老婆高圆圆有关
  • 痛并快乐着!林心如升级当妈 辛苦挤奶仍大呼开心
  • 赵薇晒“她的年会” 和杨子姗王森重返二十岁
  • 汪小菲深情告白女儿:那么爱 有谁能理解?
  • 谢娜大方晒下巴的伤疤 她说受伤时曾血流成河
    Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
    ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
    搜索
    查看: 3015|回复: 8

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

    [复制链接]

    16

    主题

    345

    帖子

    374

    积分

    中级会员

    Rank: 3Rank: 3

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

    新浪微博官方账号】美国省钱快报FunInUSA : 每日滚动更新美国市场折扣资讯微商进货首选资讯渠道。
    回复 百度谷歌雅虎搜狗搜搜有道360奇虎

    举报

    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?

    28

    主题

    95

    帖子

    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

    主题

    97

    帖子

    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

    主题

    90

    帖子

    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

    主题

    1122

    帖子

    2235

    积分

    金牌会员

    Rank: 6Rank: 6

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

    26

    主题

    1108

    帖子

    2188

    积分

    金牌会员

    Rank: 6Rank: 6

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

    本版积分规则

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

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

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

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

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