ARTS 打卡第二周 6.1-6.7

用户头像
我笔盒呢
关注
发布于: 2020 年 06 月 11 日

Algorithm

这周仍然在继续学习算法,发出来的这个题有关map(Python里面的dict)

力扣242https://leetcode-cn.com/problems/valid-anagram/description/

此题属于简单题,目的是为了训练对dict操作以及思想的熟练度。

题目要求判断两字符串所包含的字符(包括重复的)是否相同;思路是将两个字符串中字母及其出现的次数作为键值对储存下来,如果两个dict完全相同,则返回TRUE。

class Solution:
def isAnagram(self, s: str, t: str) -> bool:
dct1, dct2 = {}, {}
for ss in s:
dct1[ss] = dct1.get(ss, 0) + 1
for tt in t:
dct2[tt] = dct2.get(tt, 0) + 1
return dct1 == dct2
# return abs(sum([ord(x)**0.5 for x in s])-sum([ord(y)**0.5 for y in t]))<1e-5

Review

“5 Lessons I’ve Learned on How to Structure Code” by Daan

https://link.medium.com/R7DobjxJ76



这篇文章就如何写出结构性代码这件事给出了五个技巧和原则。

第一,代码之前要设计,文章中我接触到UML统一编程语言这个工具,非常有效。

杨二,我们要在代码约束力方面形成一个意识:团队要有一个底层的代码规范原则,并且可以就此原则规范代码甚至加入新原则,最重要的是,不要觉得麻烦就不去做这件事。

第三,设计class和def时,以最小功能为单位,这样便于维护,也更可读。这解释了为什么python中很多函数编写、功能都是非常小巧的,一个函数只能实现一个功能。

第四,不要过分coding,要遵从整体性,不可将某个功能设计的过于深入而忽略了其他重要的功能。

第五,写代码时要设计小的测试单元,这样可以逼迫自己写得更规范并且加快测试速度。

Tips

这周把笔记本的win7系统重装成了win10、office2016更新成office2019,本来抱着省时间的想法去淘宝买的激活码,但还是出了耗费时间的问题。



背景:win10系统安装后,可以正常使用,隔了一夜,问题出现。

问题:1.谷歌浏览器不能正常使用;2.网络显示连接但无法上网;3.系统设置的网络连接中的诸如“无线网络”的几个项目,右键点击属性失效。



分析:网上有关问题1的解决方案需要用到问题3中的操作,但搜索了半天并没有找到问题3的解决方案;这也是解决问题耗费时间过多的重要原因。



问题原因:

问题2:没有分析出什么原因;

问题1、3:我想可能是由于新安装的软件导致,排查后得出结论为某个科学上网工具修改了注册表,导致网络连接出现问题;



解决方案:

问题3:重启几次、隔几个小时之后就好用了;

问题1、2:重装某工具后,阻止其修改注册表的全部操作,重启后电脑可以正常使用。

Share



https://time.geekbang.org/column/article/14271

96 | 高效学习:端正学习态度



老生常谈的话题,但其生命力有增无减。其实学习这件事从来就没有速成,或者说速成本身是无法被合适判断的一件事, 什么算速成——是只用一天一周一个月学会一项技能?还是比其他同龄人学的更快?思考过后,你会发现速成这个概念无法有用地被我们定义,所以,也就无所谓学习速成了。



要做一件事肯定有必要的步骤,学习也同样:知道——理解——运用。如果我们把其中浪费的时间缩短再缩短,就达到了高效学习的目的。首先,我们要意识到学习的过程必不可少,所耗费的时间因人、事、环境而异,只有一条路,无所谓捷径与否。其次,我们身边的很多人都有一种浮躁的心理,虽然第一点,但多数人不能理解第一点,这也说明了做成第一点的性价比超高。最后,目标感在学习的过程中至关重要,方法只是加快了你去某处的速度,但目标感让你知道你要去哪。



感谢耗子叔的这篇分享,我们非常需要这类的声音,让它存在并且壮大吧。

用户头像

我笔盒呢

关注

还未添加个人签名 2019.01.07 加入

还未添加个人简介

评论

发布
暂无评论
ARTS打卡第二周6.1-6.7