ARTS是耗子叔发起的一个活动
A(Alogarithm):每周至少做一个leetcode算法题R(Review):阅读并点评至少一篇英文技术文章T(Tip):学习至少一个技术技巧S(Share):分享一篇有观点和思考的技术文章
Alogarithmleetcode第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-attentionTipslinux中的tail命令tail主要是用来查看文章中的内容命令格式:tail[参数][文件名]参数:
-f把文件里的最尾部的内容显示在屏幕上,并且不断刷新
-n行数显示文件的尾部n行内容
-c数目显示文件最后的字节数
实操:
tail-n.jpgtail-c.jpgShare本周没有分享技术文章
Victoryli扫一扫下载订阅号助手,用手机发文章赞赏
转载请注明:http://www.quwenlai.com/zejz/4849.html