题解 | #数据分类处理#

数据分类处理

http://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

def judge(i,r): 	#判断r是否完全包含了连续的i
    if str(i) in str(r):
        return True
    else: return False
linei = list( map(int, input().split() ) )
liner = list( map(int, input().split() ) )
m, n = linei[0], liner[0]
nums = sorted(set(liner[1:]))	#去重并排序
ans = ''	#记录当前满足条件的数字
cnt=0	#记录ans的长度
for i in nums:	#判断r是否完全包含了连续的i
    if str(i) in str(linei[1:]):	#判断i是否存在于r
        tcnt=0	#记录i满足条件时的个数
        ans+=str(i)		#记录当前i
        ans+=' '	#分隔字符
        cur=''	#记录当前满足条件字符
        for r in range(m):	#遍历r
            if judge(i, linei[r+1]):	#i存在于r
                cur+=str(r)		#记录当前r值的位置
                cur+=' '	#分隔
                cur+=str(linei[r+1])	#记录当前r值
                cur+=' '	#分隔
                tcnt+=1		#记录当前满足条件的r的个数
        ans+=str(tcnt)		#记录满足i的所有r个数
        ans+=' '
        ans+=cur	#记录满足i的所有r的位置和值
        cnt+=2		#ans又新增两个数
        cnt+=2*int(tcnt)	#ans新增的满足条件的所有r的位置和值的个数
res=''
res+=str(cnt)	#记录ans的长度
res+=' '
res+=ans
print(res)
            

全部评论

相关推荐

09-25 00:00
已编辑
电子科技大学 Java
球球与墩墩:这不是前端常考的对象扁平化吗,面试官像是前端出来的 const flattern = (obj) => { const res = {}; const dfs = (curr, path) => { if(typeof curr === 'object' && curr !== null) { const isArray = Array.isArray(curr); for(let key in curr) { const newPath = path ? isArray ? `${path}[${key}]` : `${path}.${key}` : key; dfs(curr[key], newPath); } } else { res[path] = curr } } dfs(obj); return res; }
查看3道真题和解析
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:还是喜欢你劝退测开时候桀骜不驯的样子,麻烦恢复一下
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务