【算法训练专栏】前言

本专栏旨在通俗易懂的总结常见算法题,力求用人话,用最易懂的方式讲解清楚常见算法题。算法训练非一朝一夕之功,希望与大家日拱一卒,共同进步。

注:该专栏各文章均为原创总结,转载请署名。

专栏参考题库:题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台

【经典解法与进阶解法】

经典解法:即最容易想的解法,这类解法常用的有遍历、枚举等,一般时间复杂度或空间复杂度较差。

进阶解法:所有算法的进阶解法,都是在经典解法的基础上加速。之所以有算法的概念,就是因为某种套路可以更省时间更省空间的得到结果,有些算法容易想,有些算法是无数前人探索之后的智慧,这些智慧是值得我们去研究学习并使用的,所以才会有算法学习及算法笔试面试考察。

本专栏对任何一道题都会从这两个角度入手,先阐述经典解法,再讲解进阶解法。

【算法到代码的翻译】

个人理解,算法是算法,代码是代码。

在算法的学习中,我们经常遇到一种情况,知道是怎么一种套路,但实际去写,不会写。这种情况实际是不会将算法思路翻译为计算机的语言:代码。

比如滑动窗口,我们知道要用一个窗口,但窗口用什么结构实现,如何右移,如何从左缩小窗口,如何过程中维护窗口长度变量或窗口中需要保持的特征,都需要一个思考过程。

这个过程首先要建立一个心理预期,写代码不是一蹴而就的东西,实际工作中,写代码也是一步步调试才能最终上线。

【选用语言】

建议大家使用python3进行算法训练,原因有如下几点:

1.python语言作为一种脚本语言,不需要编译,调试简单

2.python语法简洁明了,声明变量不需要加类型,省去很多语言相关的知识,可专注于算法本身

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值