Fork me on GitHub
摘要: 【题目描述】 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。【原题重现:2016 腾讯C/C++研发工程师】 春节期间小明使用微信收... 阅读全文
posted @ 2015-12-09 13:15 GeekerLou 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 【题目描述】 从上往下打印出二叉树的每个节点,同层节点从左至右打印。【解题思路】 用队列实现二叉树的层序遍历(即图中的广度优先遍历)【代码实现】 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 ... 阅读全文
posted @ 2015-12-09 12:44 GeekerLou 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 假定有一定数量的牌,每次随机抽取,问如何保证每次抽到的牌不重复直到抽完所有的牌。 【解题思路】 假定有N张牌,每次随机抽一张牌,看完之后将其与这副牌的最后一张牌交换,更新然后在前N-1张牌中再次随机抽取一张,直到N-1为0 结束,这样保证可以抽完所有不一样的牌,时间复杂度保持在O(1) 阅读全文
posted @ 2015-12-09 12:43 GeekerLou 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 【题目描述】 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。【代码实现】 1 #... 阅读全文
posted @ 2015-12-09 12:41 GeekerLou 阅读(238) 评论(0) 推荐(0) 编辑