01 2018 档案
摘要:[抄题]: 克隆一张无向图,图中的每个节点包含一个 label 和一个列表 neighbors。 [思维问题]: [一句话思路]: 先BFS克隆点(一个点+扩展所有邻居),再克隆邻居(一个点+扩展所有邻居)。 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输
阅读全文
摘要:[抄题]: 给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) [思维问题]: 不知道反复切换要怎么做:用boolean normalOrder当作布尔型控制变量 [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况
阅读全文
摘要:[抄题]: 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) [思维问题]: [一句话思路]: 用queue存每一层 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: [二刷]: [三刷]: [四刷]: [五刷]: [
阅读全文
摘要:[抄题]: 给一个二叉查找树以及一个节点,求该节点的中序遍历后继,如果没有返回null [思维问题]: 不知道分合算法和后序节点有什么关系:直接return表达式就行了,它自己会终止的。 [一句话思路]: 比root大时直接扔右边递归,比root小时 考虑是左边递归还是就是root [输入量]:空:
阅读全文
摘要:[抄题]: 设计实现一个带有下列属性的二叉查找树的迭代器: 元素按照递增的顺序被访问(比如中序遍历) next()和hasNext()的询问操作要求均摊时间复杂度是O(1) 对于下列二叉查找树,使用迭代器进行中序遍历的结果为 [1, 6, 10, 11, 12] [思维问题]: [一句话思路]: 有
阅读全文
摘要:[抄题]: [思维问题]: 不知道要定义resultType, 其实用仔细分析判断条件就行了:是否是bst+最大最小值 类似于平衡二叉树:是否平衡+左右的高度差 [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): 1-1也不是。所以le
阅读全文
摘要:[抄题]: 给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和) [思维问题]: 不会写分合法 [一句话思路]: 用两次分治:root2any any2any分一次,左右再分一次。 [输入量]:空: 正常情况:特大:特小:程序里处
阅读全文
摘要:[抄题]: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. “The lowest common ancestor is defined between two no
阅读全文
摘要:[抄题]: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as: a binary tree in which t
阅读全文
摘要:[抄题]: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 [思维问题]: [一句话思路]: 分合法的定义 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: 求最小距离时,注意左边或右边没有数的情况
阅读全文
摘要:[抄题]:二叉树前序遍历 [思维问题]: 不会递归。三要素:下定义、拆分问题(eg root-root.left)、终止条件 [一句话思路]: 节点非空时往左移,否则新取一个点 再往右移。 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]:
阅读全文
摘要:空间复杂度看新开了什么数据结构就够了 公式=几个点*每个点执行了多少次 二叉树都是n次 二分法查找:lgn 全部查找:n n:找一个数,但是两边都要找。相当于遍历。类似于rotated sorted array的有重复 遍历版本。 nlgn:先分成两半,再全部合并。类似于merge sort. 左边
阅读全文
摘要:[抄题]: 给一个单词列表,求出这个列表中出现频次最高的K个单词。 [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: [二刷]: [三刷]: [四刷]: [五刷]: [总结]: [复杂度]:Ti
阅读全文
摘要:[抄题]: 在一个排序矩阵中找从小到大的第 k 个整数。 排序矩阵的定义为:每一行递增,每一列也递增。 [思维问题]: 不知道应该怎么加,因为不是一维单调的。 [一句话思路]: 周围两个数给x或y挪一位, 如果hash数组没有就添加到minheap中 [输入量]:空: 正常情况:特大:特小:程序里处
阅读全文
摘要:[抄题]: 数字是不断进入数组的,在每次添加一个新的数进入数组的同时返回当前新数组的中位数。 [思维问题]: [一句话思路]: 左边x个元素,右边要有x+1个元素,因此利用maxheap把左边的最大值揪出来,利用minheap把右边的最小值揪出来 如果maxHeap.peek() > minHeap
阅读全文
摘要:[抄题]: [思维问题]: [一句话思路]:Long.valueOf(2)转换为long型再做 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: [二刷]: [三刷]: [四刷]: [五刷]: [总结]: [复杂度]:Time
阅读全文
摘要:[抄题]: 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中。 对于字符串数组 ["lint","intl","inlt","code"] 返回 ["lint","inlt","intl"] [思维问
阅读全文
摘要:[抄题]: Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example,Given [100, 4, 200, 1, 3, 2],The
阅读全文
摘要:[抄题]: [思维问题]: 需要从任何位置访问某数字有没有(重要 ),返回其位置(不重要),所以用hashmap。 需要从任何位置删除,用linkedlist。最终二者结合,用linked hashmap。 [一句话思路]: 链表存物理位置,key存数,value存值(要更新) [输入量]:空: 正
阅读全文
摘要:Implement Queue using Stacks [抄题]: [思维问题]: [一句话思路]: 取头部、取出来的时候,用一个output来倒序 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: [总结]: [复杂度]:T
阅读全文
摘要:[抄题]: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: newindex = (hashTable[i].val % newcapacity + newcapacity) % newcapacity;
阅读全文
摘要:[抄题]: Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in th
阅读全文
摘要:[抄题]: 实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。 你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。 [思维问题]: 想不到,脑洞不够大 [一句话思路]: 用一个minstack来辅助实现 [输入量]:空: 正常情况:特大:特小
阅读全文
摘要:重复一次 [抄题]: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 [思维问题]: [一句话思路]: 不重复时,size扩大 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情
阅读全文
摘要:[抄题]: 给你一个链表以及一个k,将这个链表从头指针开始每k个翻转一下。链表元素个数不是k的倍数,最后剩余的不用翻转。 [思维问题]: [一句话思路]: // reverse head->n1->..->nk->next.. // to head->nk->..->n1->next.. // re
阅读全文

浙公网安备 33010602011771号