微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源 ...
分类:
编程语言 时间:
2019-08-23 20:52:16
阅读次数:
108
微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源 ...
分类:
编程语言 时间:
2019-08-16 20:45:05
阅读次数:
86
【题目】给定一个链表的头节点head,请判断该链表是否为回文结构。例如:1->2->1,返回true。1->2->2->1,返回true。15->6->15,返回true。1->2->3,返回false。进阶:如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1)。【题解】方法一:遍历 ...
分类:
编程语言 时间:
2019-07-22 20:11:42
阅读次数:
149
Problem:【题目】 给定一个单向链表的头节点head,节点的值类型是整型,再给定一个整数pivot。 实现一个调整链表的函数,将链表调整为左部分都是值小于 pivot的节点, 中间部分都是值等于pivot的节点,右部分都是值大于 pivot的节点。 除这个要求外,对调整后的节点顺序没有更多的要 ...
分类:
编程语言 时间:
2019-07-22 20:10:25
阅读次数:
149
【题目】给定数组arr和整数num,共返回有多少个子数组满足如下情况:max(arr[i.j]) - min(arr[i.j]) <= num max(arfi.j])表示子数组ar[ij]中的最大值,min(arli.j])表示子数组arr[i.j]中的最小值。【要求】如果数组长度为N,请实现时间 ...
分类:
编程语言 时间:
2019-07-13 16:11:40
阅读次数:
177
【问题】 汉诺塔问题比较经典,这里修改一下游戏规则:现在限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有N层的时候,打印最优移动过程和最优移动总步数。例如,当塔数为两层时,最上层的塔记为1,最下层的塔记为2,则打印:Move 1 from left t ...
分类:
编程语言 时间:
2019-07-11 20:16:31
阅读次数:
140
【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 【要求】 1.pop、push、getMin操作的时间复杂度都是O(1)。2.设计的栈类型可以使用现成的栈结构。 【题解】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】1. ...
分类:
编程语言 时间:
2019-07-11 15:37:30
阅读次数:
92
题意 一棵多叉树代表员工的上下级关系,孩子节点是父节点的直接下级。节点代表员工,属性包括快乐值和孩子节点列表。 大家参加了party,要求一个员工去了则它的所有直接下级都不能去,问参加party能得到的最大快乐值是多少。 题解 我原本的思路是一层员工去不去是它上面一层去和不去两种状态转移过来的,但是 ...
分类:
其他好文 时间:
2019-06-25 00:36:53
阅读次数:
167
题意 计算完全二叉树节点数。 题解 不使用遍历方法,优化时间复杂度到O(H^2)。 高度为h的满二叉树节点数为2^h 1。 设计递归函数search(Node root,int h,int H),返回当前节点roo为根的完全二叉树的节点数。h代表该节点在的高度,高度从1计算,H代表原始二叉树的高度始 ...
分类:
其他好文 时间:
2019-06-22 01:31:38
阅读次数:
149
题意 给串A和串B,找到A包含B所有出现字符(相同字符出现几次就要包含几次)的最小子串,输出子串长度 题解 维护一个窗口作为当前考察子串,使用一个hashmap记录每个字符在当前子串已出现情况。时间复杂度O(n). 代码 ...
分类:
其他好文 时间:
2019-06-14 01:06:03
阅读次数:
132