![](https://img-blog.csdnimg.cn/20200213084405754.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
算法问题分享
前端程序员雾灵
好好学习天天向上
展开
-
扑克牌问题
题目有一堆扑克牌,将牌堆第一张放到桌子上,再将接下来的牌堆的第一张放到牌底,如此往复;最后桌子上的牌顺序为: (牌底) 1,2,3,4,5,6,7,8,9,10,11,12,13 (牌顶);问:原来那堆牌的顺序,用函数实现代码实现function sortPuke(arr) { let keyList = [];//arr对应的key let alenList = [];...原创 2020-03-11 11:24:24 · 1131 阅读 · 0 评论 -
快速实现生成窗口最大值数组(js代码)
一、你能学到什么?①js数组内置的两种方法②生成窗口最大值数组的具体思路先看代码(暴力求解)//暴力求解 时间复杂度:O(n*w)function largestWindow(arr,w){ let arr1 = [] for (let i = 0; i < arr.length-w+1; i++) { let max = arr[i] ...原创 2020-03-03 22:40:42 · 194 阅读 · 0 评论 -
快速学习经典排序算法(javaScript实现)
你能学到都什么?①时间复杂度 ②空间复杂度 ③什么是算法稳定性 ④五种经典算法的思路及代码实现学习排序算法(js代码实现)排序算法在工作和学习中很常见,今天主要js实现冒泡排序,插入排序,选择排序,归并排序,快速排序。注意:① 空间复杂度一般指额外空间复杂度② 算法稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,则称这个算法稳定...原创 2020-02-27 19:34:46 · 230 阅读 · 0 评论 -
一个栈实现另一个栈排序
一个栈实现另一个栈排序题目实现思路代码实现简单测试代码下载地址感谢题目一个栈中元素为整形,现在想将这个栈从栈顶到栈底自大到小排序,允许申请一个栈。除此之外无其他数据结构。允许申请新变量,如何完成排序?实现思路1.设置需要排序的栈为stack,辅助的栈为help,从stack弹出的当前值为curt2.将stack依次弹出,判断弹出的值curt与help的栈顶元素大小关系,如果curt较小,...原创 2020-02-24 23:23:34 · 188 阅读 · 1 评论 -
如何仅用递归函数和栈操作逆序一个栈
如何仅用递归函数和栈操作逆序一个栈题目实现思路代码实现简单对数器实现简单测试代码下载地址感谢题目一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。实现思路1.实现递归函数getAndRemoveLastElement,获取到栈底元素返回并移除...原创 2020-02-22 11:03:43 · 227 阅读 · 0 评论 -
由两个栈实现一个队列,支持队列的基本操作
两个栈组成的队列题目注意点代码实现简单测试感谢题目由两个栈实现一个队列,支持队列的基本操作(add,poll,peek)注意点1.由stackPush压入stackPop压入时,要将stackPush全部押入2.出队时,如果stackPop有元素,不需要将stackPop压入代码实现let stackPush = []let stackPop = []//入队如果队列已满,抛出异...原创 2020-02-13 20:17:05 · 332 阅读 · 0 评论 -
设计一个getMin功能的栈
设计一个getMin功能的栈题目要求思路代码实现简单测试题目实现一个特殊的栈,在实现栈的基本功能的基础之上,再返回栈中最小元素的操作要求1.pop push getMin的时间复杂度都是O(1)2.设计栈类型可以使用现成的栈结构思路创建两个栈结构,分别为stack,minStack。入栈时,stack正常入栈,minStack则需要判断栈顶元素是否大于入栈的元素,如果是就将入栈的元素...原创 2020-02-12 22:59:42 · 212 阅读 · 0 评论