美团线上笔试的两道编程题

第一次参加这种线上题,觉得很刺激。虽然那20道逻辑题让我怀疑人生。。。可能智商需要充值

第一题:

输入两个字符串,

比如

A:aaabbb

B:aab

求所有的距离和

距离和:

aba  和aba 的距离为0,因为相等

aba和bab就是3,3个不等

所谓的所有,就是A中3个长度的所有字符串的和,aaabbb就是aaa,aab,abb,bbb

让你求和:

我写的python,用的是遍历暴力法:

# !/usr/bin/env python
# coding=utf-8
while 1:
    wordone = raw_input()
    wordtwo = raw_input()
    lengthone=len(wordone)
    lengthtwo=len(wordtwo)
    he=0
    for i in range(1+lengthone-lengthtwo):
        s=wordone[i:i+lengthtwo]
        for k in range(lengthtwo):
            if(s[k]!=wordtwo[k]):
                he+=1
    print he
    break
 

然后70分,应该是超时了。


第二题,我懒得写介绍了,大概就是给你一串字符串,比如3,5,2,常规的套路是你用这些能构建出什么,这个却是你不能构建出来的,最小的数是多少。反正也是暴力法跑出来的,最后40分,暴力大法好2333

# !/usr/bin/env python
# coding=utf-8
while 1:
    word = raw_input()
    shuzu=[[0,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0]]
    for i in word:
        d = int(i)
        shuzu[d][1]+=1
    jieshu=True
    num=1
    while(jieshu):
        if(num==1):
            for i in shuzu:
                if((i[1]==0)&(i[0]<>0)):
                    print i[0]
                    jieshu=False
                    break
        if(not jieshu):
            break
        else:
            #暴力大法好
            num=10
            while(jieshu):
                b = [[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0], [8, 0], [9, 0]]
                for k in str(num):
                    d=int(k)
                    b[d][1]+=1
                for p in range(10):
                    if b[p][1]>shuzu[p][1]:
                        print num
                        jieshu=False
                        break
                num+=1
    break




 

emmm,不过第二个题我很不满意,我最开始是两个思路的,可惜因为时间限制,所以就按照最简单的暴力法写了。。。

希望线上笔试能过

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值