8.24 4399笔试 做的好难受啊
第一次用这个笔试系统,用例不知道什么样,还得自己测输入研究半天,第二题都没写一看那么长,最后戳气球也不知道输入方式是啥,直接把输入split了,唉
第一题:栈
中心老城区有很多奇葩的停车场,假设现在有一条单出入口的胡同路用来做停车场。注意:①单出入口;②假设胡同路宽度只够停1辆小车(不可并排停车)。
现在给出当天车辆到达停车场的顺序数列A(小车用正整数标识别)和当天停车场出车顺序数列B。请根据A数列顺序,判断B数列的出车顺序是否合理的,如B是合理的出车顺序,则输出true;如B是不可能存在的出车顺序,则输出false。
例1:
输入:
[1,2,3,4]
[4,3,2,1]
输出:true
现在给出当天车辆到达停车场的顺序数列A(小车用正整数标识别)和当天停车场出车顺序数列B。请根据A数列顺序,判断B数列的出车顺序是否合理的,如B是合理的出车顺序,则输出true;如B是不可能存在的出车顺序,则输出false。
例1:
输入:
[1,2,3,4]
[4,3,2,1]
输出:true
第三题 戳气球 动态规划
有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。
现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 (nums[left] + 1) * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气球。
求所能获得硬币的最大数量。
#4399笔试##秋招#现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 (nums[left] + 1) * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气球。
求所能获得硬币的最大数量。