首页 > 神策数据,Java后端,笔试
头像
菜鸡一条
编辑于 2021-10-15 18:47
+ 关注

神策数据,Java后端,笔试

神策数据后端,8/31发的笔试链接,3日内做完就行。牛客网笔试。


10道单选,5道多选,3道编程题。
哇神策编程题就那几个吗。。。好多人都是重题。实不相瞒我看了两个笔经,碰到了。

感谢大佬的分享:


编程题

可以跳出,用本地IDE。

题目简述:

  1. 括号匹配:字符串(1)23(4()5)6,输出里面每对括号对应下标(必然匹配)。
  2. 很赞的整数对:三个数x,y,m。(x,y)里面有一个数大于m,就是很赞的整数对。
  3. 字符串去除重复空格,每个单词进行反转

第一题:字符串、有效括号数

给定一个字符串,打印里面匹配的括号的个数和下标,比如:
(1)23(4()5)6,一共有三对括号,下标0和2是一对,5和10是一对,7和8是一对。输入数据的括号均能成对出现,以下输入是不存在的:((1)
输入描述:一个包含数字和括号的字符串,一行
输出描述:多行输出,第一行是成对括号的个数,后面每行是一个括号的下标。

输入:(1)
输出:
1
0
2
说明:共有1对成对的括号,其下标为0和2

栈的应用,不过有点坑的是输出需要从小到大

比如还是上面题目里的例子, 必须要这样输出0 2 5 10 7 8才可以,也就是第一个括号下标要 0,5,7 这样从小到大有序输出。


第二题:很赞的整数对

题目:给一个整数对(x,y),并且允许把其中一个数修改成之前两个数的和,x+y。比如(5,2),两数之和为7,经过一次修改可以变成(7,2)或(5,7)。再给一个整数m,问至少要做多少次上述修改操作,才能使两个数组成的数对是对m很赞的整数对。两个数中至少有一个数大于等于m,这个数对就是很赞的整数对。

输入描述:一行包含3个整数,分别是x,y,m。其中x,y是最初的两个整数,取值范围是int32;m是一个整数,取值范围是int32;
输出描述:至少要做多少次上述修改操作,才能使得数对为m的很赞整数对。

输入: 1 2 5
输出: 2
说明:经过2次操作,一种可行的但不一定是最优的操作方法是:(1,2)-->(3,2)-->(5,2)

输入:-1 4 15
输出: 4
说明:最少经过4次操作,一种可行的但不一定是最优的操作方法是:(-1,4)-->(3,4)-->(7,4)-->(11,4)-->(15,4)

输入: 0 -1 5
输出: -1
说明:经过多少次操作都无法满足要求,输出-1

我写的每次替换掉x、y两个数中较小的那个。考虑了正数负数0的情况,考虑了Integer.MAX_VALUE越界用了long,最终AC95点几。。。实在想不出来了。


第三题:字符串反转

给定字符串s,要求把s中多于一个的连续空压缩成一个空格,并将连续的非空格字符串倒序打印出来,例如,给定"abc def efg",打印"cba fed gfe"。

输入:abc def efg
输出: cba fed gfe

直接字符数组双指针处理的,AC100。


自己写的代码在这,欢迎大家来踩我博客:Java代码




发经验攒人品,球球李了给个Offer吧。:sob:

全部评论

(0) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐