首页 > 其他 > 详细

2015-10-11 [滴滴]--研发工程师--1~4面

时间:2015-10-15 15:52:42      阅读:216      评论:0      收藏:0      [点我收藏+]

时间:2015-10-11 14:10 ~ 18:20

地点:北京市海淀区东北旺西路8号院 尚东数字山谷 B区1号楼

 

一、1面

1. 问项目经验

2. 求整型数组中的最大子数组和

int get_max_sum(const vector<int> &nums)
{
    int ans = 0;

    if (nums.size() == 0)
        return 0;

    int cnt_val = nums[0];

    if (nums.size() == 1) {
        ans = ans > cnt_val ? ans : cnt_val;
        return ans;
    }

    for (int i = 1; i < nums.size(); i++) {
        if (cnt_val > 0)
            cnt_val += nums[i];
        else
            cnt_val = nums[i];
        ans = ans > cnt_val ? ans : cnt_val;
    }

    return ans;
}

int main()
{
    struct TestCase {
        vector<int> nums;
        int ret;
    } test_cases [] = {

        {
            { -1, -1, -1 },
            0
        },

        {
            { -1, -9, 10, -3, 19 },
            26
        },

        {
            { -1, 20, -9, 10, -3, 19 },
            37
        },

    };

    for (int iii = 0; iii < sizeof(test_cases) / sizeof(TestCase); iii++) {

        TestCase &tc = test_cases[iii];

        auto ret = get_max_sum(tc.nums);

        if ( tc.ret != ret ) {
            cout << "Case #" << iii << " failed" << endl;
            cout << "Actual ret=" << ret << endl;
            return -1;
        }
    }

    return 0;
}

 

二、2面

1. 线程安全

1.1 vector, list 是否是线程安全的?

 

1.2 对于链表,如何才能能使其线程安全?更高效的方案?

 

2015-10-11 [滴滴]--研发工程师--1~4面

原文:http://www.cnblogs.com/lovers/p/4873313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!