数据结构
稳稳的文雯
这个作者很懒,什么都没留下…
展开
-
克隆图——java实现
题目给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node])示例:思路深拷贝的核心是new一个新的节点出来,为其分配空间,而不仅仅是赋值用hashmap记录原node 和 新node的对应关系。若原node已经作为key存在于hashmap里,那么说明它的拷贝(新node)也已经存在,直接获得它的...原创 2020-01-12 19:08:31 · 250 阅读 · 0 评论 -
逆波兰序列——java实现
题目根据逆波兰表示法,求表达式的值。示例1:输入: [“10”, “6”, “9”, “3”, “+”, “-11”, “", “/”, "”, “17”, “+”, “5”“+”]输出: 22解释: ((10 * (6 / ((9 + 3) * -11))) + 17) + 5= ((10 * (6 / (12 * -11))) + 17) + 5= ((10 * (6 / -...原创 2020-01-09 15:05:44 · 248 阅读 · 0 评论 -
每日温度——java实现
题目根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的...原创 2020-01-07 21:31:38 · 801 阅读 · 0 评论 -
用数组设计循环队列
题目描述设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCi...原创 2019-12-20 21:44:15 · 296 阅读 · 0 评论 -
合并两个有序链表
核心算法假设两个链表分别为:1–>2–>41–>3–>4则比较算法如下:我们将两个链表分别写成树结构,更直观一些:这样比较后的结果就依次是划掉的元素:1–>1–>2–>3–>4–>4要考虑的细节:1、当两个链表都是空链表2、当其中一个链表已经遍历完,另一个链表还没有遍历完解决方法1、if(链表1=null&&am...原创 2019-12-12 16:41:57 · 108 阅读 · 0 评论 -
双向链表的设计(1)
双向链表的设计双向链表节点的定义双向链表的增和删在头结点添加链表元素在尾节点添加元素在链表中间添加元素删除链表中的元素获取索引值index对应的链结点的值获取链表的长度将链表中的元素输出完整代码插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富...原创 2019-12-10 11:12:20 · 233 阅读 · 0 评论