每周完成一个 ARTS:
Algorithm:leetcode题库第5题:Z 字形变换
Review :阅读并点评至少一篇英文技术文章
Tip :学习至少一个技术技巧
Share 分享一篇有观点和思考的技术文章
A:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:
L C I R
E T O E S I I G
E D H N
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。
请你实现这个将字符串进行指定行数变换的函数:
string convert(string s, int numRows);
示例 1:
输入:s = "LEETCODEISHIRING", numRows = 3
输出:"LCIRETOESIIGEDHN"
示例 2:
输入:s = "LEETCODEISHIRING", numRows = 4
输出:"LDREOEIIECIHNTSG"
解释:
L D R
E O E I I
E C I H N
T S G
完成代码:
还有想出另类的一种思路:给每个字符加权numRows =3时,L 对应1,E对应2,E对应3,T对应2,C对应1,O对应2 以此往复,然后取对应的值,第一层取1的字符,第二层取2的字符,第三层取3的字符,就能得出对应的字符串。
R:
题目:why Django is the popular Python framework among web developers
此文章是关于 Python 框架Django的介绍:
让我们看看国外是如何对此框架的评价的:
1、在众多框架中,Django占58%
2、易于维护、简单和干净的编码、快速的调试
3、《华盛顿邮报》、《纽约时报》、《卫报》和其他许多网站都使用Django来处理网站的大量访问量,以维持网站的高性能。
4、Django框架也用于Instagram、Spotify、Disqus、YouTube、Mozilla等。帮助开发人员随时了解新特性和推出的新更新,使他们能够快速工作。
5、有很大的社群
6、免费开源的框架
7、当Django基于MTV架构——模型—模板—视图架构—工作时,项目中不同任务的代码被分开。这使得新的开发人员更容易加入到团队中。
8、Django为它所构建的应用程序提供了安全保护。
T:架构:需要识别复杂度。
架构的本质:为了解决软件系统的复杂性。
而复杂性的来源:高性能、高可用、可扩展。
对这些来源需要进行优先级的排序。优先解决当前面临最主要的复杂度问题