58同城題目
58同城出了三道演算法題,第一道題題目過長。。。好像是和推薦系統掛鉤的題目(給cv一條活路吧!t t)
第二道題還有第三道題都是leetcode上很簡單的題目(第一次2ac!主要還是題目簡單)
主要想說一下第二道題目,
給定乙個非負整數num,求在0<=x<=num區間中的所有整數的二進位制數中1的個數,空間複雜度為o(n)。如:
輸入:
3
輸出:
[0,
1,1,
2]
輸入:
5
輸出:
[0,
1,1,
2,1,
2]
題解:
這道題看起來不難,我們可以觀察到如果x是2的指數倍的話,x的二進位制中的1的個數就是1,但是要求空間複雜度為o(n),所以我們不能用遞迴的方法去判斷當前的數字是否是2的指數。
所以引入如果x是2的指數,那麼
x &
(x-1)==
0
的規律
且還有如果x不是2的指數,那麼
x &
(x-1
)== x-
1
的規律
在這裡說一下&的用法,這是個二進位制運算子,會將運算數轉換成二進位制進行運算
1&1
=1,1
&0=0
,0&1
=0,0
&0=0
;
另外,除了&之外,還有 | 運算子和 ~ 運算子。
1|1
=1,1
|0=1
,0|1
=1,0
|0=0
;~0=
1,~1
=0;
所以程式為:
public
class
problem1}}
class
demo1
return res;
}public
intnumc
(int i)
return count;
}}
58同城演算法工程師
簡單而言判別式模型是求分類面。生成式模型是求分布。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 fo...
python 爬蟲 58同城
from bs4 import beautifulsoup import requests import csv import time url 已完成的頁數序號,初時為0 page 0 建立乙個有寫許可權的csv file csv file open rent.csv w 建立csv writer...
仿58同城UITableViewCell動畫
在做的過程中也遇到了幾個小的問題,也算是注意點吧。1.cell出現時每個cell的動畫時間一樣,導致沒有依次移動的效果。根據indexpath來設定cell動畫時間,擔心時間增大時最後面的cell會出現的很慢,想著讓indexpath 20這樣來解決,但決定效果不太理想,所以就還是直接用indexp...