58同城演算法工程師

2021-10-24 03:45:51 字數 3500 閱讀 5818

簡單而言判別式模型是求分類面。

生成式模型是求分布。

def

findk

(a,b)

: gap=

max(a,b)

-min

(a,b)

if a&

1== b&1:

x=(gap-4)

//4+2

else

: x=

(gap-1)

//2+1

print

(x)for i in

range

(x,-1,

-1):

if0<=i*i-

max(a,b)

<=

500:

for j in

range

(i-1,-

1,-1

):print

(i,j)

if i*i-

max(a,b)

==j*j-

min(a,b)

:return i*i-

max(a,b)

print

(findk(1,

-11))

完全平方數越靠後,它的間距越大。

這個題其實是樓梯問題的變種,現在樓梯變成了數字:

遞迴版本:

def

translatenum

( num ):if

not num:

return

0if num<10:

return

1 s=

str(num)

deff

(s):

ifnot s:

return0if

len(s)==1

:return1if

int(s[:2

])<26:

return f(s[2:

])+f(s[1:

])else

:return f(s[1:

])return f(s)

print

(translatenum(

12158

))

迭代版本:

def translatenum

( num ):if

not num:

return

0if num<10:

return

1 s=

str(num)

i=1if

int(s[:2

])<26:

j=2else

: j=

1for k in range(2

,len

(s)):if

int(s[k-

1:k+1]

)<26:

i,j=j,i+j

else

: i,j=j,j

return j

print

(translatenum

(12158

))

甚至可以認為是一種遍歷:

bfs:

def translatenum

( num ):if

not num:

return

0if num<10:

return

1 s=

str(num)

q=q.(0

) c=

0while q:

d=q.

pop(0)

if d==

len(s)-1

: c+=1

if d+

1<=

len(s)-1

: q.

(d+1

)if d+

2<=

len(s)-1

andint

(s[d:d+2]

)<26:

q.(d+2

)print

(q)return c

dfs:

def translatenum

( num ):if

not num:

return

0if num<10:

return

1 s=

str(num)

c=[0

] def dfs

(s):

print

(s)if

not s:

c[0]

+=1return

iflen

(s)>=

2and

int(s[:2

])<26:

dfs(s[2:

])dfs(s[1:

])else

:dfs

(s[1:]

)dfs

(s)return c[0]

print

(translatenum

(12158

))

還可以回溯:

def translatenum

( num ):if

not num:

return

0if num<10:

return

1 s=

str(num)

track=[0

] c=[0

] ch=[1

,2] def trackback

(ch,track)

:if track[-1

]>=

len(s)-1

: c[0]

+=1return

for i in ch:

if track[-1

]+i in track:

continue

if track[-1

]+i<

len(s)

andint

(s[track[-1

]:track[-1

]+i]

)<26:

track.

(track[-1

]+i)

trackback

(ch,track)

track.

pop(

)trackback

(ch,track)

return c[0]

print

(translatenum

(12158

))

58同城演算法

58同城題目 58同城出了三道演算法題,第一道題題目過長。好像是和推薦系統掛鉤的題目 給cv一條活路吧!t t 第二道題還有第三道題都是leetcode上很簡單的題目 第一次2ac!主要還是題目簡單 主要想說一下第二道題目,給定乙個非負整數num,求在0 x num區間中的所有整數的二進位制數中1的...

演算法工程師

演算法工程師方向也各有不同吧,說下訊號處理主要是調研也就是看 演算法 和驗證,也就是寫 最後還有除錯了。發布於 2016 06 20 所謂演算法工程師,大致的工作範圍是演算法研究 工程實現兩部分,不同的人在不同的環境下各有側重。第一部分,在目前國內網際網路公司的環境裡,說演算法研究,其實更多的工作是...

阿里演算法工程師招聘

崗位要求 qualifications 1 本科以上學歷 碩士博士優先。具有很強的邏輯分析能力,對資料敏感。2 具有一定的資料建模實踐經驗,紮實的程式設計基礎,精通至少一門程式語言。熟悉r語言優先。3 熟悉常用機器學習演算法,對資訊檢索 自然語言處理 影象處理 語音處理等相關領域的應用問題有大量實踐...