剑指offer连续子数组中和最大的值

劍指Offer二叉樹中和爲某一值的路徑 2015-09-29

問題描述輸入一顆二叉樹和一個整數,列印出二叉樹中結點值的和爲輸入整數的所有路徑.路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑.算法分析如果 root 等于 輸入數,將root放在返回數組裏返回:如果root大于輸入數,返回空值: 如果root小于輸入數,將root放在數組裏,輸入數自減root,一同隨root的子樹遞歸:如果輸入數爲0了且左右子樹都爲空,即爲葉子節點,則這條路徑可行,返回數組: 如果 root 沒有子樹了,同時輸入數還沒爲0,說明此路不通,返回NULL. 代

劍指Offer文章索引未完 2015-09-29

下面是牛客網劍指Offer編程題的一些解題報告,目前還沒刷完,會一篇篇加上來.跳台階變態跳台階矩形覆蓋重建二叉樹替換空格用兩個棧代替隊列斐波那契數列二進制中 1 的個數二叉搜索樹的後序遍曆序列二叉樹中和爲某一值的路徑二叉搜索樹與雙向鏈表字符串的排列數組中出現次數超過一半的數字最小的K個數連續子數組的最大和把數組排成最小的數

劍指Offer——面試小提示持續更新中 2015-09-29

(1)應聘者在電話面試的時候應盡可能用形象的語言把細節說清楚.(2)如果在英語面試時沒有聽清或沒有聽懂面試官的問題,應聘者要敢于說Pardon.(3)在共享桌面遠程面試中,面試官最關心的是應聘者的編程習慣與調試能力.(4)在介紹專案經驗時(包括在簡曆上介紹和面試時口頭介紹)時,應聘者不必要詳述專案背景,而要突出介紹自己完成的工作及取得的成績.(5)面試官除了希望應聘者的代碼能夠完成基本的功能以外,還會關注應聘者是否考慮邊界條件,特殊輸入(比如NULL指針,空字符串等)及錯誤處理.(6)如果在面試

空格替換劍指offer+程序員面試金典+string類知識點講解 2015-09-30

空格替換參與人數:2736時間限制:3秒空間限制:32768K通過比例:14.58%最佳記錄:0 ms|0K(來自  常敲代碼手不抖) 題目描述 請編寫一個方法,將字符串中的空格全部替換爲"%20".假定該字符串有足夠的空間存放新增的字符,並且知道字符串的真實長度(小于等于1000),同時保證字符串由大小寫的英文字母組成. 給定一個string iniString 爲原始的串,以及串的長度 int len, 返回替換後的string.測試樣例:"Mr John Smith&q

劍指Offer二叉搜索樹與雙向鏈表 2015-09-29

題目描述輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表.要求不能創建任何新的結點,只能調整樹中結點指針的指向.算法描述使用遞歸,分別去將當前節點的左右子樹變成雙向鏈表,然後獲取左邊鏈表的最後一個元素,當前元素的左指針指向它,它的右指針指向當前元素:右邊鏈表的第一個元素,它的左指針指向當前元素,當前元素的右指針指向它:然後從當前元素開始,不斷從左邊找,找到第一個元素,返回此元素的指針.總結: 對這種涉及到二叉樹的題目,可以使用測試驅動開始,先寫測試用例,然後再編碼.代碼實現#inclu

劍指Offer讀書筆記持續更新中 2015-09-29

劍指Offer讀書筆記持續更新中
(1)定義一個空的類型,裏面沒有任何成員變量和成員函數,對該類型求sizeof,得到的結果是多少?答案是1.空類型的實例中不包含任何信息,本來求sizeof應該是0,但是當我們聲明該類型實例的時候,它必須在記憶體中占有一定的空間,否則無法使用這些實例.至于占用多少記憶體,由編譯器決定.Visual Studio中每個空類型的實例占用1字節的空間.如果在該類型中添加一個構造函數和 ...

鏈表中倒數第k個結點劍指offer 2015-09-30

參與人數:1699時間限制:1秒空間限制:32768K通過比例:21.37%最佳記錄:0 ms|8552K(來自  無聲) 題目描述 輸入一個鏈表,輸出該鏈表中倒數第k個結點. 題目鏈接:http://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking闡述下,面試的時候覺得題目有歧

醜數劍指offer 2015-10-06

參與人數:1051時間限制:1秒空間限制:32768K通過比例:19.37%最佳記錄:0 ms|0K(來自  shi_kai) 題目描述 把只包含因子2.3和5的數稱作醜數(Ugly Number).例如6.8都是醜數,但14不是,因爲它包含因子7. 習慣上我們把1當做是第一個醜數. 求按從小到大的順序的第N個醜數. 鏈接:http://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b?rp=2&ru=/ta/coding-in

二叉搜索樹的後序遍曆序列劍指offer 2015-09-27

參與人數:1407時間限制:1秒空間限制:32768K通過比例:21.19%最佳記錄:0 ms|0K(來自  小YI) 題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍曆的結果.如果是則輸出Yes,否則輸出No.假設輸入的數組的任意兩個數字都互不相同. 鏈接:http://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?rp=2&ru=/ta/coding-interviews&qru=/ta/codin

劍指Offer - 九度1356 - 孩子們的遊戲(圓圈中最後剩下的數) 2015-09-27

題目描述: 每年六一兒童節,JOBDU都會准備一些小禮物去看望孤兒院的小朋友,今年亦是如此.HF作爲JOBDU的資深元老,自然也准備了一些小遊戲.其中,有個遊戲是這樣的:首先,讓小朋友們圍成一個大圈.然後,他隨機指定一個數m,讓編號爲1的小朋友開始報數.每次喊到m的那個小朋友要出列唱首歌,然後可以在禮品箱中任意的挑選禮物,並且不再回到圈中,從他的下一個小朋友開始,繼續1...m報數....這樣下去....直到剩下最後一個小朋友,可以不用表演,並且拿到JOBDU名貴的"名偵探柯南"典藏版

劍指Offer數組中出現次數超過一半的數字 2015-09-29

題目描述數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字.例如輸入一個長度爲9的數組{1,2,3,2,2,2,5,4,2}.由于數字2在數組中出現了5次,超過數組長度的一半,因此輸出2.算法描述打擂算法:多的留下,少的走 先找出數最多的,然後找有多少個數,最後判斷數目是否超過了一半, θ(n)時間複雜度代碼實現class Solution { public: int MoreThanHalfNum_Solution(vector<int> numbers) { int v,c=0;

劍指Offer替換空格 2015-09-29

題目描述請實現一個函數,將一個字符串中的空格替換成"%20".例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy.解題思路遍曆字符串,遇到空格,就把空格後面的所有數後移兩個位置: 空格處放'%',空出來的兩個位置放'2','0'代碼實現classSolution {public: void replaceSpace(char *str, int length) { if (length <= 0 || str == NULL) re

劍指Offer二進制中1的個數位運算 2015-09-29

問題描述輸入一個整數,輸出該數二進制表示中1的個數.其中負數用補碼表示.算法分析本題需要用到位運算當傳進來一個正整數n時,假設n=3,二進制表示爲 011 011&1 = 1 一個1, n右移1位 01&1 = 1 又一個1, n右移1位 共需移31次傳進來一個負整數n,假設n = -2 二進制表示爲 原碼:10000000 00000000 00000000 00000010 反碼:11111111 11111111 11111111 11111101 補碼:11111111 11111

劍指Offer變態跳台階 2015-09-29

問題描述:一只青蛙一次可以跳上1級台階,也可以跳上2級--它也可以跳上n級. 求該青蛙跳上一個n級的台階總共有多少種跳法.解題思路:每一次調用函數都是查找這個樓梯數有多少種跳法,如果樓梯數已爲0, 則表明只有這一種跳法,也就是沒有下一步的跳法了: 若不爲0,則設這一步會跳1.2.3~n階,然後將跳完這一步的 下一步跳法的跳法相加,返回結果.示例: n=4 1 1 1 1 1 1 2 1 2 1 1 3 2 1 1 2 2 3 1 4代碼實現classSolution {public: int j

劍指Offer把數組排成最小的數 2015-09-29

題目描述輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,列印能拼接出的所有數字中最小的一個.例如輸入數組{3,32,321},則列印出這三個數字能排成的最小數字爲321323.將數字轉化爲字符串,然後對字符串進行快速排序class Solution { public: string PrintMinNumber(vector<int> numbers) { string r; vector<string> sr; for(int i=0;i<numbers.size(

劍指Offer連續子數組的最大和 2015-09-29

問題描述HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學.今天測試組開完會後,他又發話了:在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全爲正數的時候,問題很好解決.但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如:{6,-3,-2,7,-15,1,2,2},連續子向量的最大和爲8(從第0個開始,到第3個爲止).你會不會被他忽悠住?算法分析有一個temp用于探路,sum負責保存最終值,初始都爲數組第一個數: 每一輪循環裏, temp如果小于0,則

劍指Offer最小的K個數 2015-09-29

題目描述輸入n個整數,找出其中最小的K個數.例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,直接使用sort排序,然後返回前k個數:class Solution { public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { sort(input.begin(), input.end()); vector<int> r; if(k>input.
一周排行