美團線上筆試的兩道程式設計題

2021-08-17 10:18:52 字數 2236 閱讀 2678

第一次參加這種線上題,覺得很刺激。雖然那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

while1:

wordone = raw_input()

wordtwo = raw_input()

lengthone=len(wordone)

lengthtwo=len(wordtwo)

he=0

foriinrange(1+lengthone-lengthtwo):

s=wordone[i:i+lengthtwo]

forkinrange(lengthtwo):

if(s[k]!=wordtwo[k]):

he+=1

printhe

break

然後70分,應該是超時了。

第二題,我懶得寫介紹了,大概就是給你一串字串,比如3,5,2,常規的套路是你用這些能構建出什麼,這個卻是你不能構建出來的,最小的數是多少。反正也是暴力法跑出來的,最後40分,暴力**好2333

# !/usr/bin/env python

# coding=utf-8

while1:

word = raw_input()

shuzu=[[0,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0]]

foriinword:

d = int(i)

shuzu[d][1]+=1

jieshu=true

num=1

while(jieshu):

if(num==1):

foriinshuzu:

if((i[1]==0)&(i[0]<>0)):

printi[0]

jieshu=false

breakif(notjieshu):

breakelse:

#暴力**好

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]]

forkinstr(num):

d=int(k)

b[d][1]+=1

forpinrange(10):

ifb[p][1]>shuzu[p][1]:

printnum

jieshu=false

breaknum+=1

break

emmm,不過第二個題我很不滿意,我最開始是兩個思路的,可惜因為時間限制,所以就按照最簡單的暴力法寫了。。。

希望線上筆試能過

面經 CVTE的兩道筆試程式設計題

晚上狀態有點不好,然後就倉促參加筆試了。前面很多道選擇題,真是坑,都是多選 混雜了多道單選 下面就說說筆試題的兩道程式設計題吧。其實我做的時候也是挺緊張的,隨意符合題意的做完提交,也沒加以優化,其實如果時間允許,我也是蠻想優化下的,不過這 場筆試不是看你優化得有多好,而是看你做對了沒。題目要求 將n...

20200402 喪喪的筆試兩道題

筆試第二道題 題目意思,給定數n,輸入n個字串,n個字串可能存在相同的,統計每個字串出現的個數,並降序排序。個數相同則按照字串字典序排序 小的在前 lst dct t int input 請輸入字串的數目 while t t 1input for word in lst if word in dct...

eBay兩道程式設計題(2020 10 16)

小明最近遇到了乙個這樣的問題 有乙個長度為n的數列,在初始狀態下,數列每個位置上的數字都是0。現在需要對這個數列進行m次操作,每次操作時我們可以將數列的某乙個區間中的全部數字都加上乙個特定的數字。請輸出m次操作後最終的數列。輸入描述 單組輸入。第1行輸入兩個正整數n和m,分別表示數列的長度和操作的次...