今天京东java后端笔试

好串这两题咋写啊,为什么都跑不了满分,也没大佬发布答案
全部评论
第二题和第三题感觉是数学题 第二题这样写过了 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.nextLine(); int ans = 0; int jd = 1; for(int i = 0;i < s.length();i++){ while(i < s.length()-1 &amp;&amp; s.charAt(i) == s.charAt(i+1)){ jd++; i++; } ans += (jd+1)/3; jd = 1; } System.out.println(ans); } } 第三题我只过了40%
2 回复 分享
发布于 2023-04-02 11:29 湖南
暑期实习吗。我还在简历筛选。。
点赞 回复 分享
发布于 2023-04-04 21:37 广东
第二题我下来想了想不知道这样对不对,其实重复消除后转化成red中的哪一个不需要再考虑,因为永远可以转化成一个不需要再次消除的(假设消之后转化成一个*再考虑转化成“red”其中任何一个,那么类似于“r*******d”,无论左右是什么字符无论中间有多少个*,都可以找到一个转化,使得所有的*都变成相邻不同的).那么问题就变成了对于原字符串里每一个重复字符的子串,需要多少次消除操作,总操作数就是每个重复字串的操作之和.就可以转化为dp问题,用一个二维dp,对于一个长度为n的子串,dp[n][0]记录化简到无相邻同样元素的最小操作数,dp[n][1]记录消除n与n-1之后无相邻元素的最小操作数.base是长度== 1 和2,对于每一个长度为i, i > 2的子串,dp[i][1] = dp[i - 2][0] + 1, dp[i][0] = min(dp[i - 1][1], dp[i][1]).
点赞 回复 分享
发布于 2023-04-02 01:02 美国
我也是欸,第二题过了40%,第三题过了45%,我后来想了下,第二题情况比较多,就比如rrrrrrr只用换2次,rrrrrrrrrr只用换3次,第三题我有一点没理解题目意思,如果说red??这种算0还是算1
点赞 回复 分享
发布于 2023-04-01 23:09 湖南

相关推荐

不愿透露姓名的神秘牛友
07-25 18:02
来组里2个月了,天天让打杂,写的代码不超过200行。现在已经开始摆烂冲秋招了。我感觉4个月,就算周六日全天睡觉,周一到周五一直看黑马也比我来节子实习学到的东西多。
小熊梦奇:😅节子那么多文档,你是一个都不看啊。 大厂的意义在于内部系统对你开放,看明白事情起因经过结果解决措施,实在看不明白,直接聊天系统搜到对应团队去问当时的负责人,大部分情况下都会给你解答。 这才是大厂实习的精髓
实习生的蛐蛐区
点赞 评论 收藏
分享
07-21 12:41
已编辑
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务