摘要: 题目描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输 阅读全文
posted @ 2021-01-28 23:18 天涯学馆 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。 这个题的关键是设计min时间复杂度为O(1)的函数,通常min函数的复杂度为O(n)。 可以使用空间换时间的策略,加一个栈来维护min函数值,每一次pop栈,min函数对应 阅读全文
posted @ 2021-01-28 23:15 天涯学馆 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / / 6 14 / / / / 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 实现如下: #include<iostream> using name 阅读全文
posted @ 2021-01-28 23:12 天涯学馆 阅读(119) 评论(0) 推荐(0) 编辑