首先,要给大家分享下一个Gitee项目链接: Codility刷刷刷-Python
我在这个项目里,把Codility上所有的Lessons,Exercises和Challenges整理成了一个大面板。目前的进度是:
- Lessons - 已全部解答,并达到100%
- Exercises - 有3题还未达到100%/还没想到解法
- Challenges - 还未开始做
接下来我的计划,是按照每天2-3题的节奏,尽快更新完全部历史的Challenges部分,遇到比较难的题就先跳过。
这样在三部分的题基本都解得差不多之后,我们再集中精力解决仍然无法解决的难题。这样的好处是,到时候我可以统一就这些难题发起网络求助,在全网协助下最终让我们的这个Gitee项目达到三部分全100%的结果~
那么今天,就让我们先进入2010年Challenges部分吧:
Challenge - Alpha 2010
题目概述:比较简单的一道题,输入是一个Array A,其中包含N个非负整数。因为有些值会重复出现,所以存在能够让每个值都出现至少一次的index,需要的返回值即为这个index。
解法概述:解法是构建了一个dictionary,记录每种值第一次出现的index,最后返回所有值首次出现index中的最大值即可。
def solution(A):
a_firsti_dict = {}
for i, a in enumerate(A):
if a not in a_firsti_dict:
a_firsti_dict[a]=i
return max(a_firsti_dict.values())
Challenge - Beta 2010
题目概述:本题是Lessons-Sorting部分的NumberOfDiscIntersections。
解法概述:之前已经在这篇之前的文章里提供过解法了,这里就不再赘述了:juejin.cn/post/720298…
总结
综上就是2010年一共的2次Challenge了,下一篇,我们会继续进入2011年的Challenges的解答~