1.[程式設計題] 懂二進位制
時間限制:1秒
空間限制:32768k
世界上有10種人,一種懂二進位制,一種不懂。那麼你知道兩個int32整數m和n的二進位制表達,有多少個位(bit)不同麼?
輸入例子1:
1999 2299
輸出例子1:
分析:第一步求這兩個數的異或,得到乙個新的數,相同位是0,不同位是1;第二步採用位運算求這個數裡邊1的個數即為結果
1class
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天後面可以獲得的最大收益。了兩個收益相加就是最大收益。
1class
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 ...