自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法】楼层扔鸡蛋问题

原文:http://www.cnblogs.com/ltang/archive/2010/11/23/1885791.html==有限层数和蛋数,求即使最坏情况下需要的最少判断次数==两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。(参见[两个鸡蛋--一道G

2013-09-18 19:47:50 3077

原创 【二叉树13】将有序链表编程一颗BST

【问题】给你一个链表的头结点head,该链表元素递增排序,将这个链表转化为一个二叉搜索树,并返回树的根节点【code】 int linkLength(ListNode *head) { int length = 0; while (head != NULL){ head = head->next; l

2013-09-13 17:26:21 793

原创 【二叉树12】求一颗二叉树中两个节点的最近公共父节点

【问题】lowest common ancentor【举例】8和5的公共父节点为3【code】Node *LCA(Node *root, Node *p, Node *q) { if (!root) return NULL; if (root == p || root == q) return root; Node *L = LCA(root->left, p,

2013-09-12 14:56:34 661

原创 【二叉树11】判断一颗二叉树本身是否为镜像

【问题】如题目output : trueoutput : false【code】bool isSymmetricHelper(TreeNode *rnode, TreeNode *lnode) { if ((lnode || rnode) == NULL) return true; if ((lnode && rnod

2013-09-11 11:59:07 887

原创 【二叉树10】求一颗二叉树的最小深度

【问题】如题目【code】int minDepthHelper(TreeNode *root, int curDepth, int &minDepth) { if (root->left == NULL && root->right == NULL) { minDepth = minDepth < curDepth ? minDepth : curDep

2013-09-11 10:33:06 1094

原创 【二叉树9】二叉树中任意两个节点的最大路径和

【问题】注意任意两个节点,不是只叶子到叶子,或者是跟到叶子。特殊考虑节点值为负数的情况。【code】在leetcode上的第一道题,bug了三次才通过。函数maxNode返回节点的最大值,作为sum的初始值。函数maxHandSum返回讲当前节点当做根节点,得到的最大和,特别注意最后一个if语句,对具有负贡献的子树进行剪枝。有以下几点要注意的:1、单独一个节点的树-3,没过

2013-09-09 22:35:00 1168 2

原创 【二叉树8】判断一颗树是否是平衡二叉树

【问题】提供一颗二叉树,判断是否为平和二叉树【代码】GetDepth()用来获取一个节点的深度,当一个节点的左右孩子的深度之差不超过1,就认为这是个平衡二叉树int GetDepth(BTreeNode* root) { if(root == NULL) return 0; int leftDepth = GetDepth(root->leftchild);

2013-09-09 17:44:35 765

原创 【二叉树7】递归计算二叉树中节点数目

【问题1】计算二叉树中叶子节点的数目int countLeafNodes(BTreeNode *root) { if (root == NULL) return 0; if (root->leftchild == NULL && root->rightchild == NULL) return 1; return countLeafNod

2013-09-09 16:00:55 1129

原创 【二叉树6】寻找二叉树中任意节点最远的距离

【问题】距离定义为两个节点中间的节点数目,也就是从一个节点到另一个节点所经过的节点数目(包括自身)。对与一个节点而言有三种情况可以考虑:1、左子树的高+右子树的高+1得到经过当前节点的最大path2、左子树为根节点得到的最大path3、右子树为根节点得到的最大path求max(1,2,3)【代码】int findMaxPath(BTreeNode *root, in

2013-09-09 15:43:57 981

原创 【二叉树5】前中后遍历二叉树的递归和非递归方法

http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html

2013-09-09 12:15:23 625

原创 【算法】统计qq一天中每秒在线人数

【问题】为了统计一天内QQ每秒的在线用户数量,每次一个用户下线时会生成一条记录到文件里:记录里有三个字段(上线时间,下线时间,用户名),时间以秒为单位。现在有一个文件包含了当天生成的N条记录(N很大),请设计一个算法根据N条记录统计出当天每秒在线用户的数量。(0【思路】创建一个数组change[ 24*3600 ]用来记录一天中,每秒用户的变化情况,在第i秒上线一人change[ i ]++,

2013-09-06 13:53:53 9962 5

空空如也

空空如也

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

TA关注的人

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