什么是 ARTS?
- 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
- 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
- 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
- 分享(Share):分析一篇有观点和思考的技术文章,建立影响力,输出价值观
时间周期
2022 年7月月11日至7月17日
一:算法:
将有序数组转换为二叉搜索树
力扣
前置知识
JavaScript 实现及其拓展资料
var sortArrayToBST = function (nums) {
if (nums.length === 0) {
return null
}
const middle = nums.length >> 1
const root = new TreeNode(nums[mid])
root.left = sortArrayToBST(nums.slice(0, middle))
root.right = sortArrayToBST(nums.slice(middle + 1))
return root
}
Python实现及其拓展资料
class Solution:
def sortedArrayToBST(self, nums: List[int] -> TreeNode):
if not nums: return None
mid = (len(nums) - 1) / 2
root = TreeNode(nums[mid])
root.left = self.sortedArrayToBST(nums[:mid])
root.right = self.sortedArrayToBST(nums[mid + 1])
return root
二:阅读,英文技术文章
- 费曼的物理学笔记:https://www.feynmanlectures.caltech.edu/I_01.html
- How Software Development Really Works — You Need More Than Great Code To Be A Successful Developer | by Ben “The Hosk” Hosking | Geek Culture | Medium
- Be less technical
三:技巧
技巧总结:
如何保持专注,并且可以在专注和游离状态之间切换。
- 提前排出掉可能的干扰源。把可能打扰你的东西剔除掉,比如手机和电脑的通知信息、零食、娱乐书籍、电视等等,要么关掉,要么放的远远的
- 认为的划定专注和游离的时间,我们不可能一直保持专注状态。比如将每天晚上完整的时间归一堆,然后用刀切为两半,一半用来专注,一半用来游离。
- 状态好的时候,会先专注干一件事情,这段时间屏蔽掉干扰源,把相对完整的时间留给写作、编程、读书,或专心研究点什么,坚持一段时间,你的效率会大大提升。
- 状态不好的时候,会处于游离的场景里,刷朋友圈,看微博,看订阅的专栏,读一些闲书,看看美剧,拓展视野,寻找信息,彻底放松。这段时间就是用来消耗的,同时寻找有价值的东西,记下来,留在专注的阶段细细阅读和理解。
专注和游离状体交替进行,对作者来说,似乎是最好的选择。
一旦专注,你的效率就会比别人高那么一点点。
一旦游离,你的视野就会比别人广那么一点点。
假以时日,你的高度和广度上就会超过普通人一点点,把那些稀里糊涂过日子的人抛在脑后,同时还可以远远的看见那些天才们的身影。
四:分享
-
关于技术能力的思考和总结
技术能力的定义:
技术能力是一种以解决某种问题为目标的思路、方法与执行手段,其本质就是解决问题的能力。在编程领域,对遇到的业务问题进行抽象、提炼以及逻辑的构建,通过研发工具以提升解决问题的效能,减低人工低效的重复工作。
分享理由:
提出问题:
什么是技术能力,
分析问题:
通过两类日常工作来表现:重复琐碎类工作、抽象复杂类工作来实际体现技能能力的差别;提出技术能力的层次模型:术、法、道
解决问题:
如果根据层次模型来提升自己,分享了一篇“内功心法”:寻找成长的源动力,常态化的总结与反思、实用技巧写文章。
-
《球状闪电》
过一个美妙的人生并不难,听爸爸教你:你选一个公认的世界难题,最好是只用一张纸和一支铅笔的数学难题,比如哥德巴赫猜想或费尔马大定理什么的,或连纸笔都不要的纯自然哲学难题,比如宇宙的本源之类,投入全部身心钻研,只问耕耘不问收获,不知不觉的专注中,一辈子也就过去了 -
iPod 1TB 透明探索版改装指南:https://sspai.com/post/74022
-
NBA球员类比程序员
网友评论