自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 哈希函数

描述 笔记 数据 评测在数据结构中,哈希函数是用来将一个字符串(或任何其他类型)转化为小于哈希表大小且大于等于零的整数。一个好的哈希函数可以尽可能少地产生冲突。一种广泛使用的哈希函数算法是使用数值33,假设任何字符串都是基于33的一个大整数,比如:hashcode("abcd") = (ascii(a) * 333 + ascii(b) * 332 + asci

2017-05-20 17:53:00 445

原创 两数组的交 II

两数组的交 II  描述 笔记 数据 评测计算两个数组的交 注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2,

2017-05-20 17:50:22 209

原创 两数组的交

两数组的交  描述 笔记 数据 评测返回两个数组的交 注意事项Each element in the result must be unique.The result can be in any order.您在真实的面试中是否遇到过这个题? Yes样例nums1

2017-05-20 17:45:37 169

原创 Strings Homomorphism

Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced with another

2017-05-20 17:42:26 819 1

原创 最长回文串

给出一个包含大小写字母的字符串。求出由这些字母构成的最长的回文串的长度是多少。数据是大小写敏感的,也就是说,"Aa" 并不会被认为是一个回文串。 注意事项假设字符串的长度不会超过 1010。您在真实的面试中是否遇到过这个题? Yes样例给出 s = "abccccdd" 返回 7一种可以构建出来的最长回文串方案

2017-05-20 17:39:55 355

原创 Two Sum - Input array is sorted

Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers

2017-05-20 17:33:32 161

原创 在二叉查找树中插入节点

给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。 注意事项You can assume there is no duplicate values in this tree + node.您在真实的面试中是否遇到过这个题? Yes样例给出如下一棵二叉查找树,在插入节点6之后这

2017-05-20 17:27:43 179

原创 Convert BST to Greater Tree

描述 笔记 数据 评测Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the ori

2017-05-20 17:24:38 153

原创 二叉树的路径和

给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。您在真实的面试中是否遇到过这个题? Yes样例给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / \ 2 3返回:[ [1, 2, 2], [1, 4]]解题

2017-04-16 18:32:31 362

原创 子树

有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。 注意事项若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。您在真实的面试中是否遇到过这个题? Yes

2017-04-16 18:29:40 207

原创 把排序数组转换为高度最小的二叉搜索树

描述 笔记 数据 评测给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 注意事项There may exist multiple valid solutions, return any of them.您在真实的面试中是否遇到过这个题? Yes样例给出数组 [1,2,3,4,5,

2017-04-16 18:24:36 267

原创 克隆二叉树

描述 笔记 数据 评测深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。您在真实的面试中是否遇到过这个题? Yes样例给定一个二叉树: 1 / \ 2 3 / \4 5返回其相同结构相同数值的克隆二叉树: 1 / \ 2 3 / \

2017-04-16 18:18:00 242

原创 二叉树的所有路径

二叉树的所有路径  描述 笔记 数据 评测给一棵二叉树,找出从根节点到叶子节点的所有路径。您在真实的面试中是否遇到过这个题? Yes样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]

2017-04-16 18:05:09 199

原创 二叉树的后序遍历

class Solution { /** * @param root: The root of binary tree. * @return: Postorder in vector which contains node values. */public:vectorans; vector postorderTraversal(TreeNode

2017-04-16 17:56:06 254

原创 将二叉树拆成链表

将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。 注意事项不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。您在真实的面试中是否遇到过这个题? Yes样例 1 \

2017-04-11 17:20:22 222

原创 二叉树的最小深度

给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes样例给出一棵如下的二叉树:        1     /     \    2       3          /    \        4      5  这个二叉树的最小深度为 2解题思路:和

2017-04-11 17:17:14 164

原创 二叉树的中序遍历

给出一棵二叉树,返回其中序遍历您在真实的面试中是否遇到过这个题? Yes样例给出二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [1,3,2]解题思路:dfs遍历中序储存。class Solution { /** * @param root: The root of bina

2017-04-11 17:15:38 214

原创 二叉树的前序遍历

给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3].解题思路:dfs遍历前序保存class Solution {public: /** * @param root: T

2017-04-11 17:11:09 211

原创 二叉树的层次遍历 II

给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7按照从下往上的层次遍历为:[ [15,7],

2017-04-11 17:09:19 303

原创 二叉树的层次遍历

给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes样例给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7返回他的分层遍历结果:[ [3], [9,20], [15,7]]解题思路:建立两个队列滚动数组进行循环每

2017-04-11 17:06:21 188

原创 等价二叉树

检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。您在真实的面试中是否遇到过这个题? Yes样例 1 1 / \ / \ 2 2 and 2 2 / /4 4

2017-04-11 17:03:08 190

原创 翻转二叉树

翻转一棵二叉树您在真实的面试中是否遇到过这个题? Yes样例 1 1 / \ / \2 3 => 3 2 / \ 4 4解题思路:dfs进行遍历,并且建立一个临时指针,每次对左右结点进行地址调换即可。class Solution {publi

2017-04-11 16:57:52 294

原创 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes样例给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.思路:dfs进行搜,对max进行更新,最后返回max即可。

2017-04-11 16:44:11 159

原创 数据结构-链表 总结

总体来说链表的简单题还是比较好做的,就是好久没敲代码有些手有点生,开始有些不会敲了,但是慢慢就觉得比起以前acm的题完全不是一个档次。           但是做题后我发现虽然是水题,但是却也不是分分钟能a的,必须经过一定的推理过程,而且做题可以加深对链表的理解,比如说以前我将头尾节点的概念看的太重,动不动就觉到要想访问链表元素只能从头开始,后来我发现链表只是一组数据用链式存下来,像数组一样,

2017-03-28 21:20:41 203

原创 翻转链表

描述 笔记 数据 评测翻转一个链表您在真实的面试中是否遇到过这个题? Yes样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null解题思路:新建一个链表从尾部往前添加即可。class Solution {public: /** * @param head: The

2017-03-27 17:04:00 150

原创 链表划分

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

2017-03-27 17:00:35 141

原创 删除排序链表中的重复元素

描述 笔记 数据 评测给定一个排序链表,删除所有重复的元素每个元素只留下一个。您在真实的面试中是否遇到过这个题? Yes样例给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null解题思路:用set保存元素,每次插入判断是否重复,

2017-03-27 16:58:16 160

原创 合并两个排序链表

描述 笔记 数据 评测将两个排序链表合并为一个新的排序链表您在真实的面试中是否遇到过这个题? Yes样例给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。解题思路:直接将一个链表看成插入排序的中间过程,插入另一个链表即可,代码就是插入排序改改。

2017-03-27 16:54:44 158

原创 链表倒数第n个节点

描述 笔记 数据 评测找到单链表倒数第n个节点,保证链表中节点的最少数量为n。您在真实的面试中是否遇到过这个题? Yes样例给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.水题一枚,直接遍历即可。class Solution {public: /** * @param

2017-03-27 16:48:47 159

原创 链表求和

描述 笔记 数据 评测你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。您在真实的面试中是否遇到过这个题? Yes样例给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->

2017-03-27 16:39:29 242

原创 链表插入排序

描述 笔记 数据 评测用插入排序对链表排序您在真实的面试中是否遇到过这个题? Yes样例Given 1->3->2->0->null, return 0->1->2->3->null解题思路:另外建一个链表然后模拟排序插入即可。class Solution {public: /** * @par

2017-03-27 16:27:59 232

原创 删除链表中倒数第n个节点

给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 注意事项链表中的节点个数大于等于n您在真实的面试中是否遇到过这个题? Yes样例给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.解题思路:先遍历一遍查一下

2017-03-27 16:24:52 149

原创 在O(1)时间复杂度删除链表节点

描述 笔记 数据 评测给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。您在真实的面试中是否遇到过这个题? Yes样例给定 1->2->3->4,和节点 3,删除 3 之后,链表应该变为 1->2->4。解题思路:将靠删除的结点赋值下一个的然后指向下class Soluti

2017-03-27 16:22:07 186

原创 两两交换链表中的节点

描述 笔记 数据 评测给一个链表,两两交换其中的节点,然后返回交换后的链表。您在真实的面试中是否遇到过这个题? Yes样例给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。解题思路:用数组保存每个结点的地址,然后进行2-1-4-3class Solution {public: /**

2017-03-27 16:19:16 192

原创 删除链表中的元素

描述 笔记 数据 评测删除链表中等于给定值val的所有节点。您在真实的面试中是否遇到过这个题? Yes样例给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。解题思路:对于元素特判一下是否为首个,如果是这返回head-》next,否则保存头指针,遍

2017-03-27 16:15:30 231

原创 hdu5984

hdu5984 Pocky

2016-12-02 12:04:16 780

原创 青岛区域赛总结

青岛区域赛总结   经历了人生第一次acm正式比赛,虽然从结果看是以失败告终,但是这也是已经预料到的一种可能性吧,若真的得奖了也只能说是碰上的吧。虽然辛辛苦苦的的准备了一个多月,但是可惜水平还是有限,不能达到获奖的水平吧。比完赛后开始有一点伤心,毕竟可以说是无功而返吧,但是不久就想通了。不管怎样,只能怪自己水平太低,而且发现知识点不全和做题太少是两大弊端吧。这一个多月主要准备的数学方面

2016-11-18 11:50:42 336

原创 HDU 4818 RP problem (高斯消元, 2013年长春区域赛F题)

注意:本题的代码出处来自kuangbin的博客,但是在网上看了几个题解,对代码都没有详细的说明,苦心钻研了一段时间后才明白。     1问题一:为什么只需要原来的n-1个方程再加上所有流量加和为一即可。  其实很简单,因为n-1个方程是对对应点的流量守恒的诠释,所以只要n-1个点守恒了,那么最后一个一个点一定守恒了,任意n-1个方程加上总的守恒即可表示所有状态。    2 问题二:为什

2016-10-06 10:51:18 476

原创 THE END OF HOLIDAY

暑假训练总结     为期一月的训练很快就过去了,说实话不知道自己是否达到了训练的目的,如果只是单纯的一丁点进步,我觉得没有必要为之喜悦,因为毕竟进步的也不怎么多,距离我期望的高度还差很远。     虽然绞尽脑汁,假期我们与dp来了一个亲密的约定,只能说是初步了解了一下各类dp的皮毛,但对于比较棘手的dp还是不能很轻松的想到。但是多多少少有一些体会吧。     比如说现在写题没有像以前

2016-08-27 02:37:16 494

原创 暑假训练总结2

不知不觉中训练已经还剩一个星期了。      过去的几个星期飞逝,虽然不能说进步很大,但是还是有些进步,比如写题的准确度比以前高了。      数位dp,树状dp等等都都了解了一下,总之不管怎样,都是用dp的思想来用于不同的知识上就达到了不一样的效果。      数位dp,顾名思义便是和数打交道,找到位数之间的关系,写出状态转移方程然后赋初值后进行运行一遍得到结果,当然这时一般有两种方

2016-08-21 09:10:00 253

空空如也

空空如也

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

TA关注的人

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