快手春招笔试编程题
第一题输入描述输出描述分析代码第二题输入描述输出描述分析代码第三题输入描述输出描述分析代码个人主页: or https://redtongue.github.io/
笔试时间为4月13日,包括35道单选题、15道多选题、三道编程题。编程题如下:
第一题
给定两个字符串,请编写代码,输出最长公共字串(Longest Common Substring),是指两个字符串中的最长公共字串,要求字串一定是连续的。
输入描述
文本格式,2个非空字符串(字母数字组成),2个字符串以‘,’英文逗号分隔,字符串长度小于等于100
输出描述
整形,为匹配到的最长字串长度
分析
代码
if __name__ == "__main__":a,b=list(input().split(','))m=0for i in range(len(a)):for j in range(len(b)):ii=ijj=jwhile(ii<len(a) and jj < len(b) and a[ii]==b[jj]):ii+=1jj+=1m=max(m,jj-j)print(m)
第二题
从0,1,2,…,n这n+1个数中选择n个数,找出这n个数中缺失的那个数,要求O(N)尽可能的小。
输入描述
给定一个以逗号(,)分割的数字串
输出描述
输出缺失的数字
分析
代码
第三题
给定
输入描述
第一行一个整数t(1<=t<=5),表示测试用例组数。对于每组测试用例:第一行两个用空格隔开的整数n和m(1<=n,m<=100000),分别表示团体个数和关系数量。接下来一行n个用空格隔开的数,第i个数表示val[i]。接下来m行,每行三个用空格隔开的整数u,v和cost(u,v)(1<=u,v<=n,1<=val[i],cost(u,v)<=20000)
输出描述
输出
分析
代码
import sys for line in sys.stdin:A=set(map(int,line.split(',')))s=sum(A)print(len(A)*(len(A)+1)//2-s)