2018春招-美团后台开发方向编程题 (python实现)
第一题:字符串距离
题目:
给出两个相同长度的由字符
a和b构成的字符串,定义它们的距离为对应位置不同的字符的数量。如串”aab”与串”aba”的距离为2;串”ba”与串”aa”的距离为1;串”baa”和串”baa”的距离为0。下面给出两个字符串S与T,其中S的长度不小于T的长度。我们用|S|代表S的长度,|T|代表T的长度,那么在S中一共有|S|-|T|+1个与T长度相同的子串,现在你需要计算T串与这些|S|-|T|+1个子串的距离的和。
输入描述:
第一行包含一个字符串
S。第二行包含一个字符串T。S和T均由字符a和b组成,1 ≤ |T| ≤ |S| ≤105。
输出描述:
输出对应的答案。
样例:
in:
aab
aba
out:
2
in:
aaabb
bab
out:
5
#-*- coding:utf-8 -*- '''
思路:字符串T在S下每次移动一次,进行比较
'''
class Lenth: def __init__(self,S,T):
self.s=S
self.t=T
'''
len_s:字符串S长度
len_t:字符串T长度
num:存储最后结果
'''
def Fun(self):
len_s=len(self.s)
len_t=len(self.t)
num=0
for i in range(len_s-len_t+1):#字符串移动次数
for k in range(0, len_t):#同等字符串比较
if self.s[i:len_t + i]==self.t:
break
if self.s[k+i] != self.t[k]:
num+=1
return num S=raw_input()
T=raw_input()
print Lenth(S,T).Fun()
第二题:数字字符
题目:
在十进制表示中,任意一个正整数都可以用字符
‘0’-‘9’表示出来。但是当‘0’-‘9’这些字符每种字符的数量有限时,可能有些正整数就无法表示出来了。比如你有两个‘1’,一个‘2’,那么你能表示出11,12,121等等,但是无法表示出10,122,200等数。
现在你手上拥有一些字符,它们都是‘0’-‘9’的字符。你可以选出其中一些字符然后将它们组合成一个数字,那么你所无法组成的最小的正整数是多少?
输入描述:
第一行包含一个由字符
’0’-‘9’组成的字符串,表示你可以使用的字符。1 ≤ 字符串长度 ≤ 1000
输出描述:
输出你所无法组成的最小正整数。
样例:
in:
55
out:
1
in:
123456789
out:
10
#-*- coding:utf-8 -*- '''
本题思路,将0和123456789分开考虑,本题结果只可能为:10~10....、1~11....、2~22......
''' class Min_num:
'''
input_list:输入的字符串
i:记录1~9在字符串中的一起出现的次数
'''
def __init__(self,input_list):
self.input_list=input_list
self.i=0 def min(self):
'''
j:用于记录0出现在字符串的次数,
while循环计算0出现的次数,同时提出字符串中的0
'''
j=0
while True:
if 0 in self.input_list:
self.input_list.remove(0)
j+=1
else:
break i_first=self.get_list()
if j>=0 and self.i==0:#当输入的字符串中有0,但是1~9并不都存在
return i_first
elif j>=0 and self.i>j:#当存在1~9的字符串的次数多余0的次数
return ''+(j+1)*''
elif j>=0 and self.i!=0:#当存在0的次数多余1~9的字符串的次数
return str(i_first)*(self.i+1) '''
get_list:用于计算1~9在输入字符串中同时出现的次数,
返回第一次不出现在字符串中的数,同时记录1~9出现的
次数
'''
def get_list(self):
l=[1,2,3,4,5,6,7,8,9]
for i in l:
if i in self.input_list:
self.input_list.remove(i)
else:
return i
self.i+=1
return self.get_list()#递归循环 while True:
s=raw_input()
input_list=[]
for i in s:
input_list.append(int(i))
print Min_num(input_list).min()
2018春招-美团后台开发方向编程题 (python实现)的更多相关文章
- 2018春招-今日头条笔试题-第二题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 利用深度优先搜索 #-*- coding:utf-8 -*- class DFS: ''' num:用于存储最后执行次 ...
- 2018春招-今日头条笔试题-第一题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 要想得到输入的数字列中存在相隔为k的数,可以将输入的数字加上k,然后判断其在不在输入的数字列中即可. #-*- cod ...
- 链家2018春招C/C++开发实习生在线考试编程题
题目一 题解:该题目意思就是让你输入n组数据,然后求并集,利用STL容器set集合的特性:元素不重复存储,我们可以很轻易得出答案 #include <iostream> #include ...
- 2018春招-今日头条笔试题5题(后附大佬答案-c++版)
1题目描述 在n个元素的数组中,找到差值为k的除重后的数字对 输入描述 第一行:n和k,n表示数字的个数,k表示差值 第二行:n个整数 输入样例 输入: 5 2 1 5 3 4 2 输出: 3 说明: ...
- 2018春招-今日头条笔试题-第四题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) #-*- coding:utf-8 -*- class Magic: ''' a:用于存储数组a b:用于存储数组b num:用于 ...
- 2018春招-今日头条笔试题-第三题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出‘1234567890’,对于输入表达试获得对应的结果利用python内置函数eval ...
- 2018春招实习笔试面试总结(PHP)
博主双非渣本计算机软件大三狗一枚,眼看着春招就要结束了,现将自己所经历的的整个春招做一个个人总结. 首先就是关于投递计划,博主自己整理了一份各大公司的春招信息,包括网申地址,开始时间,结束时间,以及自 ...
- 链家2018春招Java工程师编程题题解
Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个 ...
- 爱奇艺2018春招Java工程师编程题题解
字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是&quo ...
随机推荐
- hadoop学习笔记(六):HBase体系结构和数据模型
1. HBase体系结构 一个完整分布式的HBase的组成示意图如下,后面我们再详细谈其工作原理. 1)Client 包含访问HBase的接口并维护cache来加快对HBase的访问. 2)Zooke ...
- c#中关于变量声明那么点事
class MyVar { /* * 基于安全的考虑,c#变量的初始化有一定的要求 * 1.所有的局部变量在被显示的初始化之前,都会被编译器当作未初始化,然后抛出编译期出错; * 2.所有的字段级变量 ...
- Mac pro 安装IntelliJ IDEA 2017版
1.官网下载这个版本https://www.jetbrains.com 2.点击下载即可 3.下载好后放入本地 4.启动mac终端进行破解 输入命令:sudo vim /private/etc/hos ...
- MySQL通过游标来实现通过查询记录集循环
/*我们有时候会遇到需要对 从A表查询的结果集S_S 的记录 进行遍历并做一些操作(如插入),且这些操作需要的数据或许部分来自S_S集合*//*临时存储过程,没办法,不能直接在查询窗口做这些事.*/d ...
- 静态代码块和this
/* 静态代码块.随着类的加载而执行.而且只执行一次. 作用: 用于给类进行初始化. */class StaticCode{ static int num ; static { num = 10;// ...
- SAX, JSON , DOM 数据解析
//解析:将特定数据格式(如:xml,json)中提取出来所需的内容 //SAX: Simply API for XML, xml解析的一种方式,逐行解析,读一行内容,取一行内容,速度慢,占用内存小, ...
- Structure From Motion(二维运动图像中的三维重建)
SfM(Structure from Motion)简介 Structure from motion (SfM) is a photogrammetric range imaging techniqu ...
- Ansible Ad-Hoc命令
-a:传入模块的参数,不同的模块要传入的参数不同 -B SECOND:当任务放到后台执行异步任务,设置程序运行的超时时间,传入的是一个数值,单位秒 -C:测试该任务能否正常运行,不对被管理主机做出任何 ...
- 转 UNIGUI安装教程、使用例子
转 UNIGUI安装教程.使用例子 http://my.oschina.net/u/582827/blog/203429?p={{currentPage-1}} 转 uniGui安装教程.使用例子 发 ...
- 国内云计算的缺失环节: GPU并行计算(转)
[IT时代周刊编者按]云计算特有的优点和巨大的商业前景,让其成为了近年来的IT界最热门词汇之一.当然,这也与中国移动互联网的繁荣紧密相关,它们需要有相应的云计算服务作为支撑.但本文作者祁海江结合自身的 ...