摘要: "247 线段树的查询 II" 对于一个数组,我们可以对其建立一棵 线段树, 每个结点存储一个额外的值 count 来代表这个结点所指代的数组区间内的元素个数. (数组中并不一定每个位置上都有元素) 实现一个 query 的方法,该方法接受三个参数 root, start 和 end, 分别代表线段 阅读全文
posted @ 2017-08-08 17:03 LiBaoquan 阅读(205) 评论(0) 推荐(0) 编辑
摘要: "223 回文链表" 设计一种方式检查一个链表是否为回文链表。 样例 1 2 1 就是一个回文链表。 挑战 O(n)的时间和O(1)的额外空间。 标签 链表 思路 找到链表中点后,翻转链表后半部分,然后从头开始比较两个子链表。翻转链表代码源于 "LintCode 35.翻转链表" code 阅读全文
posted @ 2017-08-08 16:20 LiBaoquan 阅读(224) 评论(0) 推荐(0) 编辑
摘要: "221 链表求和 II" 假定用一个链表表示两个数,其中每个节点仅包含一个数字。假设这两个数的数字顺序排列,请设计一种方法将两个数相加,并将其结果表现为链表的形式。 样例 给出 6 1 7 + 2 9 5。即,617 + 295。 返回 9 1 2。即,912 。 标签 链表 高精度 思路 利用 阅读全文
posted @ 2017-08-08 15:07 LiBaoquan 阅读(323) 评论(0) 推荐(0) 编辑
摘要: "208 赋值运算符重载" 实现赋值运算符重载函数,确保: 新的数据可准确地被复制 旧的数据可准确地删除/释放 可进行 A = B = C 赋值 说明 本题只适用于C++,因为 Java 和 Python 没有对赋值运算符的重载机制。 样例 如果进行 A = B 赋值,则 A 中的数据被删除,取而代 阅读全文
posted @ 2017-08-08 13:02 LiBaoquan 阅读(486) 评论(0) 推荐(0) 编辑
摘要: "206 区间求和 I" 给定一个整数数组(下标由 0 到 n 1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end] 。 对于每个查询,计算出数组中从下标 start 到 end 之间的数的总和,并返回在结果列表中。 注意事项 在做此题前,建议先完成以 阅读全文
posted @ 2017-08-08 12:42 LiBaoquan 阅读(335) 评论(0) 推荐(0) 编辑
摘要: "205 区间最小数" 给定一个整数数组(下标由 0 到 n 1,其中 n 表示数组的规模),以及一个查询列表。每一个查询列表有两个整数 [start, end]。 对于每个查询,计算出数组中从下标 start 到 end 之间的数的最小值,并返回在结果列表中。 注意事项 在做此题前,建议先完成以下 阅读全文
posted @ 2017-08-08 12:14 LiBaoquan 阅读(503) 评论(0) 推荐(0) 编辑