一周分享
【Algorithm】贪心算法:分饼干
Assign Cookies 是一个“贪心算法”的题目。
附上链接:455: Problem
public static int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int ret = 0;
int size = Math.min(g.length, s.length);
for (int i = 0, j = 0; i < size && j < size; ) {
if (g[i] <= s[j]) {
i++;
j++;
ret++;
} else {
j++;
}
}
return ret;
}
【Review】分享一篇英文文章:
工作没激情,生活没激情。我们如何才能找到激情?
You can't find your passion until you get good at something.
【Technique】分享技术
如何改善烂代码的建议:方法不要过长,拒绝重复代码,方法参数不要过多,类指责单一,方法尽可能短等等。
【Share】 分享一个观点
《刻意练习》中说有效练习,不等于长时间的练习,也不等于重复练习。什么样的训练最有效的?有目的的练习。有目的的训练最重要的是要及时反馈。
什么是刻意练习的原则呢?首先要明确你的高绩效的目标,我想要实现哪方面能力的提升;其次,我们要尽可能找在这个领域中最优秀的专家,或者高手,或者经典书籍,目的能是够让我们和这个领域高水平的心理表征进行对比,获得高质量的反馈;第三,研究这些杰出人士或者成功案例后可能的成功原因;第四,就是我们不断的投入时间和精力进行训练。
找不到导师可以找优秀的书籍。如果连这个领域中经典的书籍也没有,行业专家的意见也不能确定就是正确的。那怎么办?作者说,这样的情况,就要回到刻意练习的本质,让自己的行为和结果之间建立即时的、高质量的反馈来提升技能。
例如:
1、自学专业书籍,可以拿课后的习题或者考试题来检验自己的学习效果。
2、提高算法能力,可以在leetcode上按照题目的类型刷题。
3、科研中的工作进展每周(每天)和老师汇报,这样就建立了反馈。
4、看论文中不懂的地方,可以直接请教作者,发邮件📩。询问看不懂的地方或者要开源的代码。
5、看编程书籍,代码无论多简单最好自己写一下,运行一下,可以加深理解。
6、学习一段时间,就出去面试一下,验证一下自己的水平和学习效果。
等等。
关于花了很多时间,却没有什么提高的技能,我们都可以按照上面的思路,来设计高质量的反馈。
网友评论