小公尺2015筆試程式設計題

2022-04-09 07:32:37 字數 1738 閱讀 2821

1.[程式設計題] 懂二進位制

時間限制:1秒

空間限制:32768k

世界上有10種人,一種懂二進位制,一種不懂。那麼你知道兩個int32整數m和n的二進位制表達,有多少個位(bit)不同麼?

輸入例子1:

1999  2299

輸出例子1:

分析:第一步求這兩個數的異或,得到乙個新的數,相同位是0,不同位是1;第二步採用位運算求這個數裡邊1的個數即為結果

1

class

solution

19return

count;20}

21 };

2.[程式設計題] 風口的豬-中國牛市

時間限制:1秒

空間限制:32768k

風口之下,豬都能飛。當今中國**牛市,真可謂「錯過等七年」。 給你乙個回顧歷史的機會,已知一支**連續n天的**走勢,以長度為n的整數陣列表示,陣列中第i個元素(prices[i])代表該**第i天的股價。 假設你一開始沒有**,但有至多兩次**1股而後賣出1股的機會,並且**前一定要先保證手上沒有**。若兩次交易機會都放棄,收益為0。 設計演算法,計算你能獲得的最大收益。 輸入數值範圍:2<=n<=100,0<=prices[i]<=100

輸入例子1:

3,8,5,1,7,8

輸出例子1:

分析:計算兩次交易機會所獲收益最大值,則可以先正序遍歷一遍記錄第k天時第一次交易可以獲得的最大收益,然後再後序遍歷一次,記錄第k天時後面有第二次交易可獲的最大收益。再將第k天的兩次交易最大值相加比較即可獲得結果。注意,正序遍歷時表示在第k天之前可以獲得的最大收益,後序遍歷表示第k天後面可以獲得的最大收益。了兩個收益相加就是最大收益。

1

class

solution

2122

//後序遍歷

23int primax = prices[len-1

];24 rightmax[len-1] = 0;25

for(int i=len-2;i>=0;--i)

2930

int pmax = 0;31

for(int i=0;ii)

32 pmax = max(pmax, leftmax[i] +rightmax[i]);

33return

pmax;

3435

}36 };

3.[程式設計題] 小公尺git

時間限制:1秒

空間限制:32768k

git是一種分布式**管理工具,git通過樹的形式記錄檔案的更改歷史,比如: base'<--base<--a<--a' ^          | --- b<--b' 小公尺工程師常常需要尋找兩個分支最近的分割點,即base.假設git 樹是多叉樹,請實現乙個演算法,計算git樹上任意兩點的最近分割點。 (假設git樹節點數為n,用鄰接矩陣的形式表示git樹:字串陣列matrix包含n個字串,每個字串由字元'0'或'1'組成,長度為n。matrix[i][j]=='1'當且僅當git樹種第i個和第j個節點有連線。節點0為git樹的根節點。)

輸入例子1:

[01011,10100,01000,10000,10000],1,2

輸出例子1:

分析:題意沒太理解,理解了再補充

58同城)2015筆試程式設計題

void findmaxlen bintree root,int maxlen 計算右子樹中距離根節點的最長距離 if root pright null 更新最長距離 if root leftmaxvalue root rightmaxvalue maxlen maxlen root leftmax...

筆試程式設計題 2012 3 22筆試

乙個筆試題目 n個人圍成乙個圈,第乙個人從1開始遞增報數,凡是報到3的倍數 包括3 時,該人退出,隨後的人接著再繼續報數,直到最後只剩下乙個人為止,求最後剩下的這個人在原對中的編號。思路 用陣列儲存n個人,開始陣列元素全部初始化為1,表示所有的人都在隊中,然後迴圈遍歷陣列,凡是遇到能整除3的位置的元...

京東2015校招筆試程式設計題

醜數問題,在 劍指offer 一書的182頁有詳細討論。簡單來說,就是 新的醜數總是以前的某個醜數乘以2 3或5產生,那麼分別用三個指標p2 p3和p5指向乘以2 3和5後能生成新的醜數的醜數,那麼下乙個醜數就是它們生成的新的醜數中最小的乙個。public static int kthnumber ...