欧科云链前端笔试 10.22

15单项 10不定项 3编程 1问答。难度整体偏简单。

问答题不给跳出编译真的难绷。。。

1. 最长重复子串长度 100%

输入:'ababc' 输出:4 'abab'重复

要求 时间复杂度n^2

思路:感觉跟力扣459 差不多

function solve( a ) {
    // write code here
    let max = 0
    for(let i=0;i<Math.floor(a.length/2);i++){
        for(let j=1;j<Math.floor(a.length/2)+1;j++){
            let n= a.substring(i,j)
            if(a.includes(n.repeat(2))){
                max = n.length>max?n.length:max
            }
        }
    }
    return max*2
}

2. 有重复项的全排列 10%

输入:[1,1,2] 输出:[[1,1,2],[,1,2,1],[2,1,1]]

思路:回溯+剪枝

刷过这道题 但是做的时候时间不够了。。。好可惜啊 回溯写出来了 就差个剪枝

function permuteUnique( num ) {
	let len = num.length
	let res = []
	let path = []
	function tracer(used){
		if(path.length===len){
			res.push(path.slice());
			return;
		}
		for(let i=0;i<len;i++){
            if(i>0&&num[i]==num[i-1]&&!num[i-1]){
                continue
            }
            if(!used[i]){
                used[i]=true
                path.push(num[i])
                tracer(used)
                path.pop()
                used[i]=false
            }
        }
	}
	tracer([])
	return res
}

3. %s替换成字符 100%

输入:"A%sC%sE",['B','D','F'] 输出:"ABCDEF"

%s替换成数组内的元素,多的元素放字符串后

保证数组元素个数>%s的数量

思路:把%s替换成% 再遍历字符串跟数组 最后把多的数组加进去字符串后面。属于是暴力解了

function formatString( str ,  arg ) {
    // write code here
    let s = [...str.replace(/\%s/g,'%')]
    let n = 0
    for(let i=0;i<s.length;i++){
        if(s[i]=='%'){
            s[i]=arg[n++]
        }
    }
    for(let i=n;i<arg.length;i++){
        s.push(arg[i])
    }
    
    return s.join("")
}

#欧科云链##笔试##欧科云链笔试#
全部评论
前端,我问答题跳出去了,没提示我,最后自己交卷的
点赞 回复 分享
发布于 2022-10-23 13:28 广东
时间多久啊
点赞 回复 分享
发布于 2022-10-23 14:51 北京
想问一下楼主收到面试了嘛
点赞 回复 分享
发布于 2022-11-03 22:19 福建

相关推荐

02-12 17:30
已编辑
字节跳动_实习生(实习员工)
要怎么办呢牛:我觉得大厂日常实习最大的意义就是给自己背书,一个好公司的实习就像一个好学历似的,能够给自己增加一个标签,让别人觉得你可以。(至于真正实习干了啥,这个感觉并不太重要)。当然一家之言,仅供参考。另外,楼主已经很强了,实习毕业双双拿下,已经领先好多好多人了,羡慕啊
点赞 评论 收藏
分享
01-23 14:54
同济大学 Java
热爱敲代码的程序媛:给你提几点【专业技能】这个模块里面可优化的地方:1.【具备JVM调优经验】可以去b站上搜一下JVM调优的视频,估计一两个小时凭你的学习能力就能掌握JVM调优的实践方面的技能。2.【MySql优化】MySql这一栏,你去b站或者找个博客看看MySql优化,学一下,如果你本身比较熟悉MySql语句的话,那基本半天时间凭你的学习能力MySql语句优化方面的技能你也能掌握个差不多。以上1,2两点主要是因为我看你专业技能大部分都说的是偏理论,没有写应用。再就是最后,你结合你的项目,想一想你的项目中哪些sql语句是可以用MySql优化的,到时候你面试的时候也好结合着说一下。
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务