📣 独立日限时特惠: VIP通行证立减$68
123
返回列表 发新帖
楼主: billupus
跳转到指定楼层
上一主题 下一主题
收起左侧

LinkedIn二面

🔗
 楼主| billupus 2014-11-5 03:03:00 | 只看该作者
全局:
west0428 发表于 2014-11-4 10:37
赞lz!竟然一轮面了四道题。。。

说的太快了...应该慢一点比较好
回复

使用道具 举报

🔗
jiqishou 2015-2-15 09:05:23 | 只看该作者
全局:
练习写了一下最后一个add interval,有问题请指正:
class Intervals {
public:
    struct Interval {
    public:
        int start;
        int end;
        Interval() : start(0), end(0) {}
        Interval(int s, int e) : start(s), end(e) {}
    };

    void addInterval(int from, int to){
        interval.push_back(Interval(from, to));
    }

    int getTotalCoveredLength(){
        if (interval.size()<=0)
            return 0;
        if (interval.size()==1)
            return interval[0].end - interval[0].start;

        std::sort(interval.begin(), interval.end(), Interval::isSort);
        res.push_back(interval[0]);
        for (int i=1; i<interval.size(); i++){
            if (res.back().end >= interval[i].start)
                res.back().end = max(res.back().end, interval[i].end);
            else
                res.push_back(interval[i]);
        }

        totalCoveredLength = 0;
        for (int i=0; i<res.size(); i++){
            int lengh = res[i].end - res[i].start;
            if (lengh > totalCoveredLength)
                totalCoveredLength = length;
        }

        return totalCoveredLength;
    }

    bool ifSort(Interval &a, Interval &b){
        return (a.start<b.start);
    }

private:
    vector<Interval> interval;
    vector<Interval> res;
    int totalCoveredLength;
};

补充内容 (2015-2-15 09:06):
这个是用c++
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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