摘要:
1.16 24点游戏 基本问题 你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。 解法 解法1:暴力 解法2:记忆化+二进制 (这个个人能力有限,写不出来) 拓展问题 1 测试几个用例 easy 2 不妨考虑一下,如果要优化上述算法,可以从那几 阅读全文
摘要:
3.9 重建二叉树 基本问题 : 给你一个中序遍历序列和一个前序遍历序列,还原该二叉树。 // 3.9 重建二叉树 class Test{ static class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(){}; Tre 阅读全文
摘要:
3.7 队列中取最大值操作问题 基本问题:假设有这样一个拥有三个操作的队列: EnQueue(v) : 将v加入队列中 DeQueue() : 使队列中的队首元素删除并返回此元素 MaxElement : 返回队列中的最大元素 请设计一种数据结构和算法,让MaxElement操作的时间复杂度尽可能的 阅读全文
摘要:
1.17 俄罗斯方块游戏 基本问题: 1 如何设计各种数据结构来表示游戏中的各种元素,如每一个可活动的积木块,在底层堆积的积木等 首先用一个二维数组$area[M][N]$来表示$M*N$的游戏区域,其中,数组中值为0表示没有积木块,1表示有积木块 积木块也用数组表示,但是由于积木块的尺寸不同,并且 阅读全文
摘要:
1.13 NIM(3)两堆石头的游戏 基本问题:假设有两堆石子,两人轮流取石子,每次可以从一堆取任意个石子,或者从两堆取相等数量的任意个石子,但不能不取。若先把石子取光的一方为胜方,先取者有什么必胜策略? 解题思路:参考质数筛子法,先列举(10,10)所可能的情况,筛选掉所有安全局面(先取者必胜称为 阅读全文
摘要:
1.9 高效率的安排见面会 基本问题:在校园招聘的季节里,为了能让学生们更好地了解微软亚洲研究院各研究组的情况,HR部门计划为每一个研究组举办一次见面会,让各个研究组的员工能跟学生相互了解和交流。已知有n位学生,他们分别对m个研究组中的若干个感兴趣。为了满足所有学生的要求,HR希望每个学生都能参加自 阅读全文