【算法】大厂笔试真题

大厂笔试题目

晨跑

题目描述

小明和小红在一个二维坐标系下的三角形场地的边界上匀速进行晨跑,已知三角形场地由三个顶点A、B、C确定,小明从A点出发,小红从B点出发,给出两人的行进方向d(顺时针或逆时针),奔跑速度v和场地三个顶点的坐标。请你计算出两人第一次相遇的时间(某人追上另一个人或者两人迎面相遇),若两人无法相遇则输出-1

样例

样例1
输入:
1 1 1 0 0 0
1 0 
1 1

输出:
0.5

说明:
可以看出小明开始时从A跑向B,小红开始时从B跑向A,他们会在A与B的中点相遇,耗时0.5

样例2
输入:
1 1 1 0 0 0
1 0 
1 0

输出:
-1

说明:
小明和小红跑步的方向和速度都相同,所以不会相遇

区间乘积

题目描述

小红拿到了一个数组,每一个数字被染成了红色或蓝色,她希望取一段连续区间,区间内红色的数乘积为x,蓝色的数的乘积为y。小红希望x末尾0的数量以及y末尾0的数量总和不小于k。小红想知道求出区间长度的最小值,你能帮帮她吗?

样例

输入:
5 2 
1 4 15 8 5
BRRBB

输出:
4

说明:
取区间[2,5],红色的数的乘积为4*15=60,蓝色的数的乘积为8*5=40,各有一个末尾的0,总共有2个。
可证明,若区间长度小于4,无法使得最终末尾的总和达到2。

wy

posted @ 2022-03-27 15:49  爱喝可乐的小企鹅  阅读(328)  评论(0)    收藏  举报