自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不积跬步无以至千里

不积跬步无以至千里

  • 博客(18)
  • 收藏
  • 关注

原创 3sum closest to target

给一个包含n个整数的数组S, 找到和与给定整数target最接近的三元组,返回这三个数的和。class Solution {public: /** * @param numbers: Give an array numbers of n integer * @param target: An integer * @return: return

2015-09-29 19:34:55 320

原创 由中序遍历和后序遍历构造二叉树

/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right

2015-09-29 16:53:23 326

原创 two sum

给一个整数数组,找到两个数使得他们的和等于一个给定的数target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是1到n,不是以0开头。您在真实的面试中是否遇到过这个题? Yes样例numbers=[2, 7, 11, 15],  target=9return [1, 2]

2015-09-29 10:32:20 246

原创 三数之和为0的组合

给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。样例如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:(-1, 0, 1)(-1, -1, 2)class Solution {public: /** * @param numbers : Give a

2015-09-28 13:43:45 823

原创 根据数组构造线段树

Given [3,2,1,4]. The segment tree will be: [0, 3] (max = 4) / \ [0, 1] (max = 3) [2, 3] (max = 4) / \ /

2015-09-28 12:50:34 422

原创 构造所有二叉查找树

给出n,生成所有由1...n为节点组成的不同的二叉查找树您在真实的面试中是否遇到过这个题? Yes样例给出n = 3,生成所有5种不同形态的二叉查找树:1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 /

2015-09-27 10:52:19 367

原创 二叉树的数量

给出 n,问由 1...n 为节点组成的不同的二叉查找树有多少种?您在真实的面试中是否遇到过这个题? Yes样例给出n = 3,有5种不同形态的二叉查找树:1 3 3 2 1 \ / / / \ \ 3 2 1 1 3

2015-09-27 08:57:08 1100

原创 线段树查询2

对于一个数组,我们可以对其建立一棵 线段树, 每个结点存储一个额外的值 count 来代表这个结点所指代的数组区间内的元素个数. (数组中并不一定每个位置上都有元素)实现一个 query 的方法,该方法接受三个参数 root, start和 end, 分别代表线段树的根节点和需要查询的区间,找到数组中在区间[start, end]内的元素个数。/** * Definiti

2015-09-26 13:17:54 301

原创 线段树的修改

对于一棵 最大线段树, 每个节点包含一个额外的 max 属性,用于存储该节点所代表区间的最大值。设计一个 modify 的方法,接受三个参数 root、 index 和value。该方法将 root 为跟的线段树中 [start, end] = [index, index] 的节点修改为了新的 value ,并确保在修改后,线段树的每个节点的 max 属性仍然具有正确的值。

2015-09-26 12:12:03 289

原创 线段树构造

线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间。start和end都是整数,并按照如下的方式赋值:根节点的 start 和 end 由 build 方法所给出。对于节点 A 的左儿子,有start=A.left, end=(A.left + A.right) / 2。对于节点 A 的右儿子,有start=(A.left + A.right) / 2

2015-09-26 11:14:15 385

原创 线段树查询

对于一个有n个数的整数数组,在对应的线段树中, 根节点所代表的区间为0-n-1, 每个节点有一个额外的属性max,值为该节点所代表的数组区间start到end内的最大值。为SegmentTree设计一个 query 的方法,接受3个参数root, start和end,线段树root所代表的数组中子区间[start, end]内的最大值。您在真实的面试中是否遇到过这个题?

2015-09-26 10:57:29 396

原创 n queens

n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击。给定一个整数n,返回所有不同的n皇后问题的解决方案。每个解决方案包含一个明确的n皇后放置布局,其中“Q”和“.”分别表示一个女王和一个空位置。您在真实的面试中是否遇到过这个题? Yes样例对于4皇后问题存在两种解决的方案:[    [".Q..", // S

2015-09-25 20:42:41 345

原创 partition list

给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。您在真实的面试中是否遇到过这个题? Yes样例给定链表 1->4->3->2->5->2->null,并且 x=3返回 1->2->2->4->3->5->null/** * Definition of L

2015-09-24 18:30:13 249

原创 翻转字符串

给定一个字符串,逐个翻转字符串中的每个单词。您在真实的面试中是否遇到过这个题? Yes样例给出s = "the sky is blue",返回"blue is sky the"说明单词的构成:无空格字母构成一个单词输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括如何处理两个单词间的多个空格?在反转

2015-09-24 12:58:28 426

原创 search a 2d matrix

写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。您在真实的面试中是否遇到过这个题? Yes样例考虑下列矩阵:[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]给出 targ

2015-09-22 09:43:10 266

原创 insert interval

给出一个无重叠的按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。您在真实的面试中是否遇到过这个题? Yes样例插入区间[2, 5] 到 [[1,2], [5,9]],我们得到 [[1,9]]。插入区间[3, 4] 到 [[1,2], [5,9]],我们得到 [[1

2015-09-21 18:51:04 440

原创 岛屿个数

给一个01矩阵,求不同的岛屿的个数。0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。您在真实的面试中是否遇到过这个题? Yes样例在矩阵:[ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0,

2015-09-21 16:02:58 687

原创 count and say

报数指的是,按照其中的整数的顺序进行报数,然后得到下一个数。如下所示:1, 11, 21, 1211, 111221, ...1 读作 "one 1" -> 11.11 读作 "two 1s" -> 21.21 读作 "one 2, then one 1" -> 1211.给定一个整数 n, 返回 第 n 个顺序。您在真实的面试中是否

2015-09-21 15:58:51 293

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除