标签:
时间: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 对于链表,如何才能能使其线程安全?更高效的方案?
标签:
原文地址:http://www.cnblogs.com/lovers/p/4873313.html