第一题:字符串距离

题目:

给出两个相同长度的由字符 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。第二行包含一个字符串 TS 和 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实现)的更多相关文章

  1. 2018春招-今日头条笔试题-第二题(python)

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 利用深度优先搜索 #-*- coding:utf-8 -*- class DFS: ''' num:用于存储最后执行次 ...

  2. 2018春招-今日头条笔试题-第一题(python)

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 要想得到输入的数字列中存在相隔为k的数,可以将输入的数字加上k,然后判断其在不在输入的数字列中即可. #-*- cod ...

  3. 链家2018春招C/C++开发实习生在线考试编程题

    题目一 题解:该题目意思就是让你输入n组数据,然后求并集,利用STL容器set集合的特性:元素不重复存储,我们可以很轻易得出答案 #include <iostream> #include ...

  4. 2018春招-今日头条笔试题5题(后附大佬答案-c++版)

    1题目描述 在n个元素的数组中,找到差值为k的除重后的数字对 输入描述 第一行:n和k,n表示数字的个数,k表示差值 第二行:n个整数 输入样例 输入: 5 2 1 5 3 4 2 输出: 3 说明: ...

  5. 2018春招-今日头条笔试题-第四题(python)

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) #-*- coding:utf-8 -*- class Magic: ''' a:用于存储数组a b:用于存储数组b num:用于 ...

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

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出‘1234567890’,对于输入表达试获得对应的结果利用python内置函数eval ...

  7. 2018春招实习笔试面试总结(PHP)

    博主双非渣本计算机软件大三狗一枚,眼看着春招就要结束了,现将自己所经历的的整个春招做一个个人总结. 首先就是关于投递计划,博主自己整理了一份各大公司的春招信息,包括网申地址,开始时间,结束时间,以及自 ...

  8. 链家2018春招Java工程师编程题题解

    Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个 ...

  9. 爱奇艺2018春招Java工程师编程题题解

    字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是&quo ...

随机推荐

  1. 字典树Java实现

    Trie树的原理 Trie树也称字典树,因为其效率很高,所以在在字符串查找.前缀匹配等中应用很广泛,其高效率是以空间为代价的. 利用串构建一个字典树,这个字典树保存了串的公共前缀信息,因此可以降低查询 ...

  2. Struts has detected an unhandled exception

    这个问题是struts和jsp页面的配置之间产生了问题,就是struts里边的名字和jsp里用的名字不是同一个名字,所以无法识别,所以检查一下里边的命名.

  3. struts2 file

    JavaBean 中: private File[] pic; private String[] picContentType; private String [] picFileName; sett ...

  4. Android学习整理之Activity篇

    一.Activity概念介绍 activity属于android的四大组件之一(其他的三个: Content provider,Broadcast receiver,Service),它可以理解为一个 ...

  5. TCP/IP模型的一个简单解释

    TCP/IP模型是互联网的基础. 想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然 ...

  6. delphi 手机振动 IOS Android

    delphi 手机振动 IOS Android delphi  手机振动 IOS Android 振动 https://community.embarcadero.com/blogs/entry/ho ...

  7. Nginx+IIS部署负载均衡的常见问题

    windows 下配置 Nginx 常见问题 一.  Nginx配置 找到 conf 目录里的 nginx.conf 文件,配置Nginx #user nobody; #指定nginx进程数 work ...

  8. (二)Mahapps标题栏

    一.MetroWindow 是什么? 1.默认的MetroWindow由以下几部分组成: (1)标题栏的显示/不显示: ShowTitleBar="False" (2)调节柄并不是 ...

  9. DataType 枚举

    命名空间:   System.ComponentModel.DataAnnotations 成员名称 说明   CreditCard 表示信用卡号码.   Currency 表示货币值.   Cust ...

  10. pageadmin CMS网站制作教程:

    pageadmin CMS网站建设教程:模板中如何实现信息数据共享 很多时候信息数据需要共享,一个最常用的应用场景就是手机版(独立手机,非响应式)本共享pc版本数据,下面以这个场景为例讲解. 假设手机 ...