左耳听风打卡.ARTS (第4周)

每周完成一个 ARTS: 至少做一个 LeetCode 的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是 Algorithm、Review、Tip、Share 简称 ARTS)

Algorithm | 算法训练

每周至少做一个 LeetCode 的算法题(先从 Easy 开始,然后再 Medium,最后才 Hard)。如果不训练看再多的算法书,依然不会做算法题,看完书后需要训练。关于做Leetcode的的优势,可以看一下 左耳朵耗子.coolshell.com 上的文章:

LEETCODE 编程训练

题:283. 移动零


给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]

输出: [1,3,12,0,0]

说明:

必须在原数组上操作,不能拷贝额外的数组。

尽量减少操作次数。

通过次数176,518提交次数286,168

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/move-zeroes

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解:提交记录.Java


class Solution {

public void moveZeroes(int[] nums) {

int j = 0;

for(int i=0; i < nums.length;i++){

if(nums[i]!=0){

nums[j]=nums[i];

if(i!=j){

nums[i]=0;

}

j++;

}

}

}

}

温馨提示:

LeetCode 上有乌克兰小姐姐出没,下面就是她的题解。

@Olsh:THE EASIEST but UNUSUAL snowball JAVA solution BEATS 100% (O(n)) + clear explanation

Review | 英语阅读

主要为了学习英文,如果英文不行,基本上无缘技术高手。

The Product-Minded Software Engineer

文章主要讲如何成为一个具有产品思维的工程师,主要有9个阶段:

1. 积极地开启产品思维

2. 对商业,用户行为以及数据保持兴趣

3. 保持好奇并且善于思考为什么

4. 有效沟通的能力和对工程师意外的人群的关系处理

5. 在产品和工程方面的平衡

6. 务实地应对边界问题

7. 快速地确认产品周期

8. 端到端的产品特性

9. 通过周而复始的学习锻炼产品本能

英语学习不仅仅是为了学知识更重要的是习得技能。语言学习没有捷径,只有日积月累。

Tips | 编程小技巧

总结和归纳日常工作中学到的知识点,遇到的问题,踩过的坑。

1. 因为操之过急,将Java 的StringUtils.isNotBlank()方法理解为”字符串为空“,而排查问题是却没有联系上下文仔细排查问题。导致浪费了一整天的时间。今后需要巩固Java的基础知识

,联系好上下文。这对提高工作效率有很大的帮助。

2. 做事要专注。

Share | 分享

输出价值观,分享一篇有观点和思考的技术文章。

人物-28岁退休的程序员郭宇:现在我可以选择了

花了一天的时间去翻看郭宇的微博和相关的资料,算是比较全面的了解了他的成长历程。

他人的经历虽不可复制,但可以对个人的成长产生一定启发。通过翻看郭宇近十年的微博让我有了多点启发。

首先如果你需要获取更接近现实的一手信息,就需要去到信息的源头找答案,而不是随便看几篇报道(大多数报道的质量很差,且还多内容是YY的)。

其二,就像王小波说的

无论是工作还是业余时间折腾汇编或者写小说也好,都要保持有趣。

程序员除了编程还需要对世界的运转规律有自己的认识,要善于总结和思考。有趣和特别都是宝贵的竞争力,毕竟Everything is a machine

其三,他2013年以前就在关注互联网公司的股票了(价值投资),在28岁退休之后,投资股市算是在生活中时间占比比较多的。而投资这件事迄今为止我都没有看到过有任何的文章有提及。既然写了文章为什么不好好收集资料呢?这或许是大部分人之所以平庸的原因吧。低效地劳动,却被自己的勤奋感动。

其四,要保持开放,好奇,学习的态度和热情,通过比尔.盖茨的纪录片走进比尔:解码比尔·盖茨 Inside Bill’s Brain: Decoding Bill Gates还有 查理.芒格 的《穷查理宝典》我发现,比尔.盖茨,巴菲特,查理芒格都有大量阅读的习惯。比如生活中遇到问题,这种大量阅读,交叉验证的方式对解决问题帮助很大。并且可以让答案更接近事实。

其五,所在的行业,决定了发展的空间和机会。

其六,摘录一条郭宇的微博:

每次当我决定是不是要转行放弃写代码这种无聊的工作时,我都会想一想当年我是为什么感觉在莲花山脚下买个房子,取个妻子,生个孩子是件毕生所追求的幸福事。既然幸福的含义已经变得遥不可及,就得面对着程序员的道路走下去,赚钱实现自己的目标和去往内心所向。

本作品采用《CC 协议》,转载必须注明作者和本文链接
相信时间和变化
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

你的标题名让我想起了一个前辈,左耳朵耗子

3年前 评论

@L学习不停 是的 就是他发起的ARTS打卡任务

3年前 评论
王老板的前端 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!