一、引言

“12月,当我站在滑雪场的山顶,风又大又冷,坡又陡又弯,问自己,今天为什么要来滑雪?”

5月,这一天的算法又长又抽象,对应的题目又多又困难,那为什么要来学习算法、刷题呢?

因为兴趣,这是自我决定论中的第一步。

它的契机可能是为了面试,但它的目的绝不止于面试。而一件值得坚持的事,有时也需要缘分,让我们遇到能指引我们的人、能一起抱团的人。

二、找寻引导

有一个B站UP,他说话逗比,他实力过硬,他是ACM全国金牌,他年过30岁出来将算法的金针度于你。

他的B站名为:英雄哪里出来。我称他为英雄。

三、刷题能切实增强工作能力

力扣等Online Judge的“拒绝”其实反映了工作中最常见的错误

Compile Error 编译错

公司里面总有人把编译错误的代码提上来,固然现代git仓库带有钩子做检查,但自己不应小心么?别人拉完代码,挂了,很丢人的。

Runtime Error 运行错

a) 真RE / panic

工作中常见,不是说整体套一个recover就完事儿了。应该认真想清楚为什么算法会panic。

b) Out of Memory 内存超限

学了算法和数据结构你才对内存有“稍微深入一点的认知”。时空平衡,是程序员永远的话题。

Wrong Answer 结果错

工作中达成目标的路径有很多,有时有最优解、有时有次优解;但WA则是说,不满足目标,可能是边界问题、也可能是对工作目标理解有问题,这个反馈可能来自你的QA、PM、经理,那么虚心接受。

Output Limit Exceeded 输出过多

是不是想起了,写文件、写日志,把磁盘打爆的时刻?

Time Limit Exceeded 超时

我们都是先解决问题再考虑性能优化,工作中,500 QPS可能打不死你的服务。但有一天做了一个活动,瞬时QPS来了2w,你发现:php fpm不够了,上下游疯狂超时,DB load飙升了,消息队列堵了,哪哪哪儿不对。

可能就是因为一个算法的性能不足。所以,是不是要重视TLE起来呢?

// 示例
func twoSum(nums []int, target int) []int {var i intvar a [][]int// for i<10 {for { // TLEi /= i // RE: panici++fmt.Println("i:", i) // OLEa = append(a, make([]int, i)) // RE: OOM}return []int{i} // WA
}

四、如何面对“困难”知识的学习?

降阶

降阶很重要,和循序渐进是一个意思;也就是说,今天“图”我看不懂,那么是先去把“深搜”看了。

好了,是不是今天不仅要学“图”,还要学“深搜”,要学的东西反而变多了?不然,无法达到我们今天可能必须要解决一个“图”的问题之目的。

先解决问题,再考虑优化

我再给你讲一个和降阶不一样的:“今天学一半,即先把低处的果子摘了”。

力扣307,年轻人的第一个线段树

俗话说,没有观测就没有优化。

307. 区域和检索 - 数组可修改 这题目要用线段树,不用就是1228ms,用了就是508ms。

今天先把题解了,但我不需要学容量不确定线段树的插入、Lazy-tag。

五、逆水行舟,不进则退,慢进也退

未来还需加油,按计划推进:基础算法、专业算法、工程实践、架构框架、领域设计。

六、一起学习,变得更强

如果你需要进英雄的星球,参加6月的集训,请用我推荐码。进入星球后截图告诉我。
1. 发你一个79.8元我的分成红包以兹鼓励。
2. 拉你进英雄的星球核心群。
3. 给你做一个“社牛”欢迎:)

为什么要来学习算法?写在英雄的5月集训月末相关推荐

  1. android 绘制歌词算法,深度学习算法写歌词

    AI开发平台ModelArts ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注.大规模分布式Training.自动化模型生成,及端-边-云模型 ...

  2. 数据结构+算法+c++学习(写在前面)

    本篇开始将开始更新算法方面的博客,其实应该是数据结构更多一些,我不知道大家是如何学习算法和数据结构的,就我目前的学习情况,简单的和大家说一下感受.本人研一时学校开设了算法这门课程,当时上这门课时也很用 ...

  3. 【新星计划·第三季】一篇关于学习算法和写博客的心得和经验

    ⭐️引言⭐️ 大家好啊,我是执梗.最近新星计划第三季又新开了赛道,目的在于帮助想写博客的小白更好的融入CSDN这个大家庭.我是本季[算法]赛道的导师,所以针对学习算法以及如何写好算法博客提出一些我自己 ...

  4. 写给大家看的机器学习书【Part3】直观易懂的感知机学习算法PLA

    作者:徐晗曦 原文:写给大家看的机器学习书(第三篇) 本次转载已获得作者授权,尊重原创,若需转载请联系作者本人. 相关文章: 写给大家看的机器学习书[Part1]什么是机器学习?机器学到的到底是什么? ...

  5. 深入浅出排序学习:写给程序员的算法系统开发实践

    引言 我们正处在一个知识爆炸的时代,伴随着信息量的剧增和人工智能的蓬勃发展,互联网公司越发具有强烈的个性化.智能化信息展示的需求.而信息展示个性化的典型应用主要包括搜索列表.推荐列表.广告展示等等. ...

  6. 【转】听说你了解深度学习最常用的学习算法:Adam优化算法?

    深度学习常常需要大量的时间和机算资源进行训练,这也是困扰深度学习算法开发的重大原因.虽然我们可以采用分布式并行训练加速模型的学习,但所需的计算资源并没有丝毫减少.而唯有需要资源更少.令模型收敛更快的最 ...

  7. 大话卷积神经网络CNN,小白也能看懂的深度学习算法教程,全程干货建议收藏!...

    来源 | 程序员管小亮 本文创作的主要目的,是对时下最火最流行的深度学习算法的基础知识做一个简介,作者看过许多教程,感觉对小白不是特别友好,尤其是在踩过好多坑之后,于是便有了写这篇文章的想法. 由于文 ...

  8. 通俗讲解集成学习算法!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:黄星源,Datawhale优秀学习者 本文以图文的形式对模型算法中 ...

  9. 目前最好用的大规模强化学习算法训练库是什么?

    点击蓝字  关注我们 本文整理自知乎问答,仅用于学术分享,著作权归作者所有.如有侵权,请联系后台作删文处理. 本文精选知乎问题"目前最好用的大规模强化学习算法训练库是什么?"评论区 ...

  10. 机器学习 | 基础通俗讲解集成学习算法!

    来源:Datawhale 本文约6000字,建议阅读10+分钟 本文以图文的形式对模型算法中的集成学习,以及对集中学习在深度学习中的应用进行了详细解读. 标签:机器学习 数据及背景 阿里天池-零基础入 ...

最新文章

  1. 跨域产生的原因及解决方法
  2. 跨域加了header也解决不了?
  3. 亚马逊手机端测评软件/PC端测评软件各有什么优缺点?
  4. 2013年第四届蓝桥杯C/C++ A组国赛 —— 第三题:埃及分数
  5. ConcurrentHashMap的源码分析-put方法第四个阶段
  6. 不常见但是有用的 Chrome 调试技巧
  7. mysql属于数据库三级模式_数据库系统的三级模式指的是什么
  8. mysql身份验证失败_SMTP身份验证失败PAM-MySQL无法进行身份验证
  9. java day59【 AOP 的相关概念[理解] 、 Spring 中的 AOP[掌握] 、 Spring 整合 Junit[掌握] 】...
  10. PHP自定义状态码数组
  11. PGP加密软件使用教程-云安全技术
  12. 精准医学:循环肿瘤DNA在检测非小细胞肺癌患者体细胞突变及跟踪肿瘤进展中的作用|精准治疗
  13. B 1002 写出这个数(简单字符串处理)
  14. GNSS数据处理(一)——开源GNSS数据处理软件介绍
  15. 后门程序技术知识全面深解
  16. “在XML文件中给代码加注释”请注意注释的位置
  17. 服务器系统解决方案,服务器操作系统解决方案
  18. android 方向控件 MenuView 上下左右,东南西北
  19. 计算机电路英文专业翻释术语,电子专业词汇翻译中英文对照(新手必备知识)
  20. Android开发 报错: xxx does not have a NavController set on xxx

热门文章

  1. gmail设置双重验证后,第三工具无法登陆解决
  2. Comsol With Matlab启动失败解决
  3. 标准差(Standard Deviation)和标准误差(Standard Error)
  4. 上云避坑指南100篇|ERP上云一时爽,遇坑泪两行
  5. 电商型网站要怎么制作?把住这三个关键点
  6. W10系统下 获取 TrustedInstaller 高级权限.
  7. 精力充沛是一种自我管理能力
  8. mysql增删查改------插入与查询数据
  9. 用 Java 实现梯度下降,看这篇就对了!
  10. Character.digit()详解