小红书
投递:20210812 官网+内推码
笔试:20210821
魔法师过河问题:河里有石头,黑的,白的,没颜色的;魔法师要想过河,必须黑色白色数量一样才可以;没颜色的需要消耗能量涂色成黑/白色,不同石头涂颜色需要消耗不同的能量;如果魔法师可以过河,输出消耗的最少能量;不可以的话,输出
-1
。输入样例:10个石头,随后有10行数据,每一行开始第一个数字:1表示白色,2表示黑色,0表示没颜色,0后跟的两个数分别表示变白色和变黑色需要消耗的能量。
思路:计数1和2分别记为p和q,当两个数量任一大于n/2 或者 n不是偶数,就无法保证黑白数量一致,无法过河。然后将0的存到二维数组中,从第一维选择n/2-p个位置计算能量和,表示涂成1的能量,剩下的位置直接涂成2,加和。循环,找到最小的能量
输入输出用例:
10 1 1 0 1 2 2 2 2 1 0 2 4 0 2 8 1
8
小红书每周四会给同学们发放零食水果,假设我们的工位是一个N*N的形状,并且有一些工位上是空的。阿姨会从左上角的工位开始发零食,每次向一个相邻(上下左右四个方向)的工位移动。为了零食能尽快发完,阿姨希望只经过有同学在的工位并且每个工位只经过一次,最后一个收到零食的同学也需要是在最后一排,请问阿姨总共有多少种移动的方案?
- 第一行一个整数N (0<N<=7)
- 接下来是N*N个字符,“.”代表这个工位有人,“#”代表这个工位是空的。
- 从左上角(1,1)位置开始,依次经过(1,2), (2,2), (2,1), (3,1), (3,2), (3,3)
思路:dfs,四个方向,注意边界
3 ..# ..# ...
1
周末到了,薯队长跟伙伴们约好去电影院放松一下,他们准备看三场电影。 请你根据电影院的场次安排,帮薯队长预定三场电影,使得观看总时间最长。这三场电影时间不得重叠。第一行一个整数N,表示可以预定的总场次数 (0<N<=2000)
接下来N行,分别表示场次的开始和结束时间,时间格式为 "hh:mm-hh:mm"(开始时间早于结束时间,范围在[00:00,23:59])。如果一场电影的结束时间和另一场电影的开始时间相同,薯队长可以同时预定这两场。
一个整数,表示最大的总时间(分钟计),如果无法预定三场,则输出0
思路:首先字符串解析出开始时间、结束时间,其余操作同题目1,排序+组合选择问题+最值
全部评论
(12) 回帖