- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
自主招生河南省洛阳市面试题模拟试题集解析
面试问答题(共20题)
第一题:
给定两个大小相等的数组A和B。数组A的所有元素都是非负整数,数
组B中元素为一些整数或字母‘X’,数组A中没有重复的元素。A中的每个整数
都要在B中完全匹配,即数组A的第i个元素,必须左边的B的子数组之和等于第i
个元素,两边不需要考虑重复数字。
请从数组B[0]开始,返回数组B的匹配子序列的起始索引。如果不存在这样的匹配子序列,则返回-1。
示例:
输入:A=[1,2,2],B=[“a”,“aa”,“aaab”]
输出:1
解释:B中与[1,2,2]匹配的子序列四个选项“a”,“aa”,“aaab”,它们的起始下标分别为
1、2,所以输出下标1。
题目分析:
此题属于算法问题,需要解决一个多项式目标的子序列匹配问题。目标是识别B中的哪一个子序列,它的和恰好与A中当前处理的整数匹配。因为A中的数字都不会重复,且都是非负整数,这使得问题复杂度从指数级别降低到多项式级别。
答案:
TheanswerisJava实现示例:
publicclassSolution{
publicintfindSubstring(StringA,String[]B){
intM=A.length();
intN=B.length();
if(M*N==0||A==null||B==null)return-1;
Stringpattern=““;
for(Strings:B){
pattern+=s;
}
intP=pattern.length();
if(MP)return-1;
MapCharacter,Integermap=newHashMap();
for(Strings:B){
intcount=0;
for(inti=0;is.length();i++){
charc=s.charAt(i);
if(map.containsKey(c)){
count+=map.get(c);
}
map.put(c,count);
}
}
for(inti=0;i=M-P;i++){
MapCharacter,IntegertempMap=newHashMap(map);
booleanflag=true;
for(intj=0;jP;j++){
charc=pattern.charAt(j);
if(tempMap.containsKey(c)){
intcount=tempMap.get(c);
if(count==0){
flag=false;
break;
}else{
count–;
tempMap.put(c,count);
}
}else{
flag=false;
break;
}
}
if(flag)returni;
}
return-1;
}
}
解析:
首先,构建B列表的完整字符串模式“pattern”。然后遍历A数组的子序列,判断是否能与B模式的某个序列匹配。
具体的步骤如下:
将B数组中的各个字符串连接成一个整体,形成“pattern”。
因为A数组下标是从0开始,而B数组的字符串匹配从B[0]开始,所以A数组的子序列匹配从A[0]开始,B模式从B[0]开始。
从A[0]开始遍历A的子序列,同时以B[0]开始,以对的B模式匹配方式处理A的子序列:
构建一个临时Map,使用与B数组相同的方法生成。
对于每个字符,如果在临时Map中存在对应项,则根据当前计数减去其出现次数,如果在B模式中以该字符开始且计数为零,则直接返回当前的子序列下标i。
对于B模式中不存在的字符,立即退出循环,继续有哪些信誉好的足球投注网站下一个A的子序列。
如果遍历完整个A,仍未找到匹配的子序列,返回-1;否则返回找到的子序列的起始下标。
此算法时间复杂度为O(M*2^N),其中M是A的长度,2^N是因为正则表达式解析的复杂度,空间复杂度为O(N)。
第二题
“创新”是当前社会和科技发展非常热门的一个词。请你结合自身的学习经历或观察到的现象,谈谈你对“创新”的理解,并举例说明你认为的一件具有创新性的事物或一种创新思维。
参考答案:
(一)对“创新”的理解:
我认为,“创新”并非仅仅指从无到有的发明创造,更广泛地来说,创新是指在现有的知识、技术、模式、观念的基础上,经过
有哪些信誉好的足球投注网站
文档评论(0)