答:
算法现在有两个概念,混在一起了,没了解就不懂。
1是人工智能的算法,就是机器学习,用数据训练一些模型,这也叫算法,很多时候是指这个。
2是底层的,也就是java的下一层,c语言常用的应用场景需要算法,这个算法其实是数据结构,Java层都给你封装好了,这种一般是硬件开发要精通的,因为他们需要自己写,类似51单片机开发,比这个更难一点的地方会用到。
总结,不需要刷leetcode ,学好数据结构即可,以后搬砖的时候,你会发现没花时间刷leetcode是一个明智之举。
当然,为了适应现在的面试环境,一些有要求的,你还是要刷一刷。但绝对不是把这个当成重点,编程的乐趣不是这个。
提一句,如果你学习算法是为了刷题,那么没必要,学习算法,可以有很多用途,甚至是还没有人想到的用途。国内学算法基本是用来面试,有没有觉得很搞笑,就好像你学习煮饭不是为了做饭的填饱自己的肚子,而是用来考试的,让别人知道你会做饭,然后你快饿死了也不知道煮饭能够填报自己的肚子。
其实算法很有趣的,比如google的网站推荐算法,就是一个很好的例子,这个算法是用来给用户推荐出优质的网页的,而不是用来面试的。