2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版)

解题思路:

本题的做法最重要的应该是如何拼出‘1234567890’,对于输入表达试获得对应的结果利用python内置函数eval()即可以实现。利用5个字符串来表达‘1234567890’,如下(为了好看,里面加了tab空格符)

‘66666  ....6  66666  66666  6...6  66666  66666  66666  66666  66666‘‘6...6  ....6  ....6  ....6  6...6  6....  6....  ....6  6...6  6...6‘‘6...6  ....6  66666  66666  66666  66666  66666  ....6  66666  66666‘‘6...6  ....6  6....  ....6  ....6  ....6  6...6  ....6  6...6  ....6‘‘66666  ....6  66666  66666  ....6  66666  66666  ....6  66666  66666‘
#-*- coding:utf-8 -*-

list_s=[ ‘66666....666666666666...66666666666666666666666666‘,
         ‘6...6....6....6....66...66....6........66...66...6‘,
         ‘6...6....66666666666666666666666666....66666666666‘,
         ‘6...6....66........6....6....66...6....66...6....6‘,
         ‘66666....66666666666....66666666666....66666666666‘]
n = int(input())
list_n=[]
#保存输入的表达式
for a in range(0,n):
    a=raw_input()
    list_n.append(a)
for b in list_n:
    s = eval(b)
    #将数字转化为list
    s=[int(i) for i in str(s)]
    for i in range(0,5):
        #将每个数字的一行存在一个数组
        string=[]
        for j in s:
            string.append(list_s[i][j * 5:j * 5 + 5])
        #以‘..’输出每一行
        print ‘..‘.join(string)
 

原文地址:https://www.cnblogs.com/ybf-yyj/p/8660564.html

时间: 2024-10-28 21:17:34

2018春招-今日头条笔试题-第三题(python)的相关文章

2018今日头条春招的一道笔试题 —— 通过改变枚举的变量进行枚举优化

题目如下: 这道题我们最先想到的做法,应该就是2重循环枚举数对,然后把数对放在set里去重,最后输出set的大小,即输出set.size( ).代码如下: 1 #include<iostream> 2 #include<set> 3 using namespace std; 4 5 int n, k, a[100000]; 6 set<pair<int, int>> mypairs; 7 8 int main() 9 { 10 cin >> n

今日头条笔试题--2018(3) 【 优先队列 】

时间限制:1秒 空间限制:81920K 产品经理(PM)有很多好的idea,而这些idea需要程序员实现.现在有N个PM,在某个时间会想出一个 idea,每个 idea 有提出时间.所需时间和优先等级.对于一个PM来说,最想实现的idea首先考虑优先等级高的,相同的情况下优先所需时间最小的,还相同的情况下选择最早想出的,没有 PM 会在同一时刻提出两个 idea. 同时有M个程序员,每个程序员空闲的时候就会查看每个PM尚未执行并且最想完成的一个idea,然后从中挑选出所需时间最小的一个idea独

今日头条笔试题 1~n的每个数,按字典序排完序后,第m个数是什么?

# 由于n和m都是10^18的范围,暴力明显不行,只能dfs了.# 先预处理n的十进制,存到num数组中,长度计算出来为len, 答案存到Num中.# 写个函数cntOfBeginNum(int *Num,int anslen),计算以num为前缀的小于等于n的数的个数cnt,考虑长度比n的十进制长度小的数,则cnt+=1+10+100+1000......# 长度和n相等的则要特判一下,前缀Num和num的前缀有3种关系,> = < ,先判断是哪种,再计算.# 然后考虑答案的最高位非0,我们

数组元素前移问题(今日头条笔试题)

问题描述:给定一个整数数组和一个整数x,将数组中元素值为x的元素都放到数组的前面,其他元素的相对顺次不变. 例如:原数组为{4,0,1,0,2,,3,6,0,5},x=0,则调整后的数组为{0,0,0,4,1,2,3,6,5} 分析:该问题存在多种解法. 解法一:辅助数组法.创建一个和原数组一样长度的数组,从原数组的尾部开始扫描,如果元素值是x,则忽略. 否则,将元素拷贝到新数组的末尾.扫描完原数组后,再在新数组未重新赋值的元素全部赋值为x. 最后再将新数组的所有元素赋值到原数组中. 假设原数组

Trie树/字典树题目(2017今日头条笔试题:异或)

1 /* 2 本程序说明: 3 4 [编程题] 异或 5 时间限制:1秒 6 空间限制:32768K 7 给定整数m以及n各数字A1,A2,..An,将数列A中所有元素两两异或,共能得到n(n-1)/2个结果,请求出这些结果中大于m的有多少个. 8 输入描述: 9 第一行包含两个整数n,m. 10 11 第二行给出n个整数A1,A2,...,An. 12 13 数据范围 14 15 对于30%的数据,1 <= n, m <= 1000 16 17 对于100%的数据,1 <= n, m,

头条笔试题2018后端第二批

头条笔试题2018后端第二批 标签(空格分隔): 笔试题 描述:为了不断优化推荐效果,今日头条每天要存储和处理海量数据.假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k.因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1). 输入描述: 输入: 第1行为n代表用户的个数 第2行为n个整数,

给定二维平面整数点集输出“最大点集”算法(今日头条面试题)

引子 最近自己的独立游戏上线了,算是了却了一桩心愿.接下来还是想找一份工作继续干,创业的事有缘再说. 找工作之前,总是要浏览一些实战题目,热热身嘛.通过搜索引擎,搜到了今日头条的一道面试题. 题目 P为给定的二维平面整数点集.定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为"最大的".求出所有"最大的"点的集合.(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内) 如下图:实心点为满足条件的点的集

web前端整套面试题(二)--今日头条面试题

12道单选,7道不定项选择,2道编程题 一.单选(12题) 1.[单选题]在HTML中,( )可以在网页上通过链接直接打开邮件客户端发送邮件. A.<a href=”telnet:[email protected]”>发送邮件</a> B.<a href=”mail:[email protected]”>发送邮件</a> C.<a href=”mailto:[email protected]”>发送邮件</a> D.<a hre

2018头条笔试题-世界杯问题

题目: 输入如下面所示: 前一行是m行.n列 后面是这个m行n列的数据,从任意一个1出发,可上下.左右.斜角遍历 要求输出有多少个连通图.连通图中包含的最大连通个数. 10,10 0,0,0,0,0,0,0,0,0,0 0,0,0,1,1,0,1,0,0,0 0,1,0,0,0,0,0,1,0,1 1,0,0,0,0,0,0,0,1,1 0,0,0,1,1,1,0,0,0,1 0,0,0,0,0,0,1,0,1,1 0,1,1,0,0,0,0,0,0,0 0,0,0,1,0,1,0,0,0,0