中博网络技术

中博网络技术

小菜鸡的小厂经验又来啦~

中博网络技术,一个半小时

emmm,约的9号上午10:00笔试,8号上午突如其来的就收到了笔试邀请,措不及防,我人直接傻了……

就两道题目

第一道程序补全题如下:

【程序说明】应用计算机处理日常事务或者是编写程序的时候,经常需要用到带有通配符的字符串匹配。

比如:linux命令行下输入,ls .txt就是列出当前目录下所有的结尾是.txt的文件。

下面一段函数实现了带有$和*两种通配符的字符串的匹配功能。

其中:$表示长度大于0的数字串,表示任意长度的字符串。

要求:按照自己对于算法的理解填写该函数的5个空白。

请注意:必须是完全匹配才能返回true,比如1.txt, a.txt可以匹配.txt,2.tx或者2.txta不能匹配.txt。函数的参数与返回值的说明请参见函数的注释。

// 功能描述: 表达式是否匹配成功, $表示长度大于0的数字串,*表示任意长的字符串

// 输入参数:@pRule, 以'\0'结束的字符串,表示规则;

// @pStr, 以'\0'结束的待匹配的字符串;

// 返回值: true:匹配成功; false: 匹配失败 public class Main {

public static boolean isRegularMatching(String rule, String str) {

int lRule = rule.length();

int lStr = str.length();

int iRule = 0;

int iStr = 0;

while (iRule < lRule && iStr < lStr) {

switch (_____(1)_____) {

case '*': {

iRule += 1;

if (iRule >= lRule) {

return true;

} else {

for (int i = iStr; i < lStr; i++) {

if (_____(2)_____) {

return true;

}

}

}

break;

}

case '$': {

if (_____(3)_____) {

return false;

}

while ((iStr < lStr) && (str.charAt(iStr) >= '0') && (str.charAt(iStr) <= '9')) {

iStr += 1;

}

iRule += 1;

break;

}

default: {

if (rule.charAt(iRule) != str.charAt(iStr)) {

_____(4)_____;

}

iRule += 1;

iStr += 1;

break;

}

}

}

if (iRule < lRule && iStr >= lStr) {

if (rule.charAt(iRule) == '*') {

return true;

}

} else {

return _____(5)_____;

}

return false;

}

} 结束后去查了下,发现这道题在网上大佬面的腾讯wxg四面当中也出现了……

第二道编程题如下:

输入任意一种物质,要求输出其每种元素的数量。

比如:

输入CaCO3,其组成分别为Ca:1,C:1,O:3,输出Ca1C1O3

输入Fe2(SO4)3,其组成分别为Fe:2,S:3,O:12,输出Fe2S3O12 (注意:元素名称首字母大写,剩余字母都小写;括号括起来表示括号中的结构作为整体出现多少次)

这道题我初看感觉算不上特别难(毕竟还有不少思路),然后越写越不对劲,最后人麻了……

两道题都没有完成,直接挂了,我果然是小菜鸡……

#2022届秋招进度交流##笔试题目##笔经##Java#


相关推荐

广西车牌字母代表什么?广西车牌26个字母分别为各个市
音符时值计算表
阴阳师蝴蝶精有价值吗(阴阳师中蝴蝶精哪个副本最多)
我国消失的三种文字,看看你认识几种?
汉字简史8000年:从贾湖刻符、黄帝书、夏禹书、蝌蚪文到二简字
鲢鱼!大师们!凯里50公里范围内哪有鲢鱼钓啊!收费的都可以