荣耀笔试(不确定大家题是不是一样的)

第一题,给个数字,找周长为该数字的直角三角形有多少个,暴搜直接ac,不过要注意限制下范围,比如我们定义a第二题给很一行行string,去重后优先按照时间排列,时间一致时,按string length排序,然后输出。也很简单,sort以后遍历一遍去重,然后俩俩(s1,s2)比较,java里可以用charAt()定位到“/”的位置,因为以第一个为准,可以记录一个flag,flag变化了,后续读取都失效。然后用substring获取时间t1,t2;用compareTo比较t1,t2,t1>t2的话交换位置;如果t1,t2相等,则比较s1,s2。最后把结果输出出来就可以了。
第三题,造羊圈问最少可保住多少只羊。参数的话只记录一组,别的都一样,分别是羊数量A,每天跑几只羊K,要求D天造好栅栏,以及D天中每天的工作能力。可以用dp来做,记录一个flag(用于记录前一天是否加班,1表示加班),记录一个index表示现在是第几天,记录一个完成的栅栏L。每一天有俩种状态,第一种是不加班,那么状态记为0就跑掉K只,天数加1,L+当天工作能力。第二种是加班(并且前一天不为1),跑2K只,flag改为1,D+1,L+2倍当天工作能力,然后返回最大的output L即可(L>=A)。特殊情况,到了最后一天,L仍然小于A,栅栏没造好,输出-1。
全部评论
题都是一样的
点赞 回复 分享
发布于 2022-10-10 11:03 陕西

相关推荐

2024-12-08 19:59
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务