1
一夺宝比赛共5人报名参加,奖励为一堆金币,比赛规则如下:
参赛者互不认识,也不知道其他人的存在
参赛者不知道比赛的整体进度及其他人的当前名次
每名参赛者找到金币后需要先将金币分成5等份,然后拿走自己那一份
若金币不能被5等份,需要参赛者先从自己口袋里面补充一些金币进去,然后5等份
5个人都找到金币后,比赛结束
比赛结束后,,已知参赛者在平分金币时每人都补充了1个金币进去,而且最终剩余的金币数量在1000至2000之间
请编码计算5名参赛者各自拿到了多少金币?
2
【编程题】农夫有一块土地需要灌溉,现将这块土分为N* M个1 *1的小方块,然后农夫随机向这方块中放入数根水管。已知每过一个小时,水管中的水就会蔓延到该方块上下左右的四个方块之中,请问k小时后,有多少个方块仍然需要被灌溉?
输出:未被灌溉的方块个数
例如:
[
[0,1,0,0,0]
[0,0,0,1,0]
[0,1,0,0,0]
[0,0,0,0,0]
]
输出:1
解析:
1小时后:
[
[1,1,1,1,0]
[0,1,1,1,1]
[1,1,1,1,0]
[0,1,0,0,0]
]
2小时后:
[
[1,1,1,1,1]
[1,1,1,1,1]
[1,1,1,1,1]
[1,1,1,1,0]
]
3
给定一个二叉树,它的每个结点都存放着一个整数值。
找出路径和等于给定数值的路径总数。
路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。
二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。
示例:
root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8
10
/ \
5 -3
/ \ \
3 2 11
/ \ \
3 -2 1
返回 3。和等于 8 的路径有:
- 5 -> 3
- 5 -> 2 -> 1
- -3 -> 11
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/path-sum-iii
4
有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。
现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气球。
求所能获得硬币的最大数量。
说明:
你可以假设 nums[-1] = nums[n] = 1,但注意它们不是真实存在的所以并不能被戳破。
0 ≤ n ≤ 500, 0 ≤ nums[i] ≤ 100
示例:
输入: [3,1,5,8]
输出: 167
解释: nums = [3,1,5,8] –> [3,5,8] –> [3,8] –> [8] –> []
coins = 3 *1 * 5 + 3 *5 * 8 + 1 *3 * 8 + 1 *8 *1 = 167
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/burst-balloons