https://leetcode.com/problems/two-sum/description/
public int[] TwoSum(int[] nums, int target){
int length = nums.Length;
Dictionary<int, int> map = new Dictionary<int,int>();
for (int i = 0; i < length; i++) {
int complement = target - nums[i];
if (map.ContainsKey(complement)) {
return new int[] { map[complement], i };
}
map.Add(nums[i], i);
}
return new int[]{-1};
}
https://robinrendle.com/notes/i-dont-believe-in-full-stack-engineering/
作者从另一个侧面讲述了在 web 开发领域「全栈工程师」这个头衔带来的隐患:「多而不精」的技能会带来可预见的负面后果。例如「清晰简洁的 Sass/CSS」、「深入的 web 性能优化」以及 「对整体架构和框架的掌控」,这每一项都会让工程师花费几乎全部的精力去完成,而忽视这个道理,带来的是对公司或者项目长久的负面的影响:大量的经济损失和沉重的技术债务。
每一个领域,总会有人追求「全知全能」,这一看似美好的目标,是否那么容易实现,又会为此付出怎样的代价?而当我们对自身技术和方向进行选择的时候,是否应该也要有所取舍。