码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-10-15 15:52:54      阅读:223      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!