随笔分类 -  算法

摘要:第一题: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 阅读全文
posted @ 2020-03-13 20:07 Nayek 阅读(386) 评论(0) 推荐(0)
摘要:创建一个自己的类来表示一个队列 首先需要一个用于存储队列中元素的数据结构,可以用数组 接下来声明一些队列可用的方法 enqueue(element(s)): 向队列尾部添加一个(或多个)新的项 dequeue(): 移除队列的第一(即排在队列最前面的)项,并返回被移除的元素 front(): 返回队 阅读全文
posted @ 2019-12-09 21:20 Nayek 阅读(338) 评论(0) 推荐(0)
摘要:常见数据结构 这一章节我们将来学习数据结构的内容。经常会有人提问说:学习数据结构或者算法对于前端工程师有用么? 总的来说,这些基础学科在短期内收效确实甚微,但是我们首先不要将自己局限在前端工程师这点上。笔者之前是做 iOS 开发的,转做前端以后,只有两个技能还对我有用: 1. 基础学科内容,比如:网 阅读全文
posted @ 2019-11-24 20:49 Nayek 阅读(3443) 评论(0) 推荐(0)
摘要:常考算法题解析 这一章节依托于上一章节的内容,毕竟了解了数据结构我们才能写出更好的算法。 对于大部分公司的面试来说,排序的内容已经足以应付了,由此为了更好的符合大众需求,排序的内容是最多的。当然如果你还想冲击更好的公司,那么整一个章节的内容都是需要掌握的。对于字节跳动这类十分看重算法的公司来说,这一 阅读全文
posted @ 2019-11-24 20:48 Nayek 阅读(610) 评论(0) 推荐(0)
摘要:冒泡排序 冒泡排序的原理如下,从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作直到比较到最后一个元素,那么此时最后一个元素就是该数组中最大的数。下一轮重复以上操作,但是此时最后一个元素已经是最大数了,所以不需要再比较最后一个元素,只需要比较到 的位置。 阅读全文
posted @ 2019-11-24 20:26 Nayek 阅读(133) 评论(0) 推荐(0)
摘要:测试用例 更优解 测试用例 阅读全文
posted @ 2019-11-21 16:50 Nayek 阅读(179) 评论(0) 推荐(0)
摘要:选择排序 选择排序的原理如下。遍历数组,设置最小值的索引为 0,如果取出的值比当前最小值小,就替换最小值索引,遍历完成后,将第一个元素和最小值索引上的值交换。如上操作后,第一个元素就是数组中的最小值,下次遍历就可以从索引 1 开始重复上述操作。 阅读全文
posted @ 2019-11-21 15:57 Nayek 阅读(185) 评论(0) 推荐(0)
摘要:剑指offer:合并两个排序的链表 LeetCode:21题合并两个有序列表 阅读全文
posted @ 2019-11-13 21:30 Nayek 阅读(110) 评论(0) 推荐(0)