网上药店
您现在的位置: 左耳 >> 左耳剧照 >> 正文 >> 正文

左耳听风ARTS第1周

来源:左耳 时间:2019/9/9

ARTS是耗子叔发起的一个活动

A(Alogarithm):每周至少做一个leetcode算法题R(Review):阅读并点评至少一篇英文技术文章T(Tip):学习至少一个技术技巧S(Share):分享一篇有观点和思考的技术文章

Alogarithm

leetcode第1题:题目:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

题目:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解答:编辑器:VScode编程语言:C++先用一般暴力求解的方法来做:

classSolution{public:vectorinttwoSum(vectorintnums,inttarget){intsum;vectorinttargetArr;//初始化targetArr为[-1,-1]targetArr.push_back(-1);targetArr.push_back(-1);for(inti=0;inums.size();i++)for(intj=(i+1);jnums.size();j++){sum=nums[i]+nums[j];if(sum==target){targetArr.clear();//清除targetArr内元素targetArr.push_back(i);//在targetArr尾部添加值itargetArr.push_back(j);returntargetArr;}}returntargetArr;}};

这种方法的计算时间稍慢,因为时间复杂度为O(n^2),为了缩短一下计算时间,下面用哈希表的方法改写一下。

classSolution{public:vectorinttwoSum(vectorintnums,inttarget){vectorinttargetArr;targetArr.push_back(-1);targetArr.push_back(-1);mapint,inthashTable;intfindValue;for(inti=0;inums.size();i++){findValue=target-nums[i];if(hashTable.find(findValue)!=hashTable.end())//hashTable.find(findValue)返回的是被查找元素的位置{targetArr.clear();//清除targetArr内元素targetArr.push_back(hashTable[findValue]);//在targetArr尾部添加值itargetArr.push_back(i);returntargetArr;}hashTable[nums[i]]=I;}returntargetArr;}};

其实还有其他解答方法,这里就不一一列举了。

Review

《TheIllustratedTransformer》这篇文章用图形化的方式详细介绍了Transformer这个模型,Transformer最初是在attentionisallyouneed这篇Google论文中提出来的,TheIllustratedTransformer让理解Transformer模型变得更简单,下面贴一张文中的图片。

multi-headedself-attentionTips

linux中的tail命令tail主要是用来查看文章中的内容命令格式:tail[参数][文件名]参数:

-f把文件里的最尾部的内容显示在屏幕上,并且不断刷新

-n行数显示文件的尾部n行内容

-c数目显示文件最后的字节数

实操:

tail-n.jpgtail-c.jpgShare

本周没有分享技术文章

Victoryli

扫一扫下载订阅号助手,用手机发文章赞赏

长按







































儿童白癜风该如何治疗
北京中科白癜风医院

转载请注明:http://www.quwenlai.com/zejz/4849.html