在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數
這個題其實很簡單
左上角是最小的,右下角是最大的,如果我們從最大或者最小的地方開始查詢不是很方便,想一想是不是,因為有時候選擇是不確定的,這樣就會導致後續走向有回頭現象
這個時候我們很容易想到用二分來做,但是依然不是很好二分,因為一行或者一列中可能二分不到想要的結果
而恰好在另外的一條對角線有二分的思想,大了可以選擇小的,小了可以選擇大的
class solution
return false;
}};
這裡處理的是:在不申請新的記憶體的條件下完成轉換
這樣處理的話肯定就是倒過來處理,然後注意一下字串結尾標誌的處理
給出先序和中序,求解二叉樹class solution
int newlength=orilength+2*cnt+1;
if(newlength>length) return;
int p1=orilength+1;
int p2=newlength;
while(p1就是利用盞來暫時儲存結果,然後乙個個從棧裡面取出來即可
/*** struct listnode
* };
*/class solution
vectorres;
while(!nodes.empty())
return res;
}};
給出先序就可以知道先序的第乙個節點一定是跟節點,而這個節點在中序中又可以分辨出左子樹和右子樹,以此類推就能得到一顆二叉樹
因此給出先序和後序的時候不能求解出相應的二叉樹
始終讓乙個棧來入佇列,乙個棧來出佇列/**
* definition for binary tree
* struct treenode
* };
*/class solution
vector::iterator it = vin.begin();
while(it!=vin.end())
int len=it-vin.begin();///左子樹長度
vectorpre1(pre.begin()+1,pre.begin()+1+len);
vectorvin1(vin.begin(),vin.begin()+len);
vectorpre2(pre.begin()+1+len,pre.end());
vectorvin2(vin.begin()+1+len,vin.end());
root->left=reconstructbinarytree(pre1,vin1);
root->right=reconstructbinarytree(pre2,vin2);
return root;
}};
當出佇列的棧為空的時候就從入佇列的棧取資料到出佇列
把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。 note:給出的所有元素都大於0,若陣列大小為0,請返回0class solution
int pop()
while(!stack1.empty())
int val=stack2.top();
stack2.pop();
return val;
}private:
stackstack1;
stackstack2;
};
題解:因為是非遞減陣列的旋轉陣列,那麼就是兩個非遞減陣列,也是可以用二分的思想進行查詢的
特別注意乙個特殊的情況,在這個二分的過程中,要是首尾以及中間元素都相等的時候就要進行暴力掃瞄了
class solution
return rotatearray[left];
}};
牛客網 劍指Offer(66題)
1 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。方法一 直接遍歷二維陣列 public class solution find 8,a public st...
劍指Offer66題的總結 目錄
劍指offer每日6題系列終於在今天全部完成了,從2017年12月27日到2018年2月27日,歷時兩個月的寫作,其中絕大部分的時間不是花在做題上,而是花在寫作上,這個系列不適合大神,大牛,這個系列是我專門為那些初識演算法,資料結構的同學和對基礎演算法,基本資料結構不熟練的同學而寫的。裡面所有的博文...
劍指offer 66道 跳台階
時間限制 1秒 空間限制 32768k 熱度指數 373877 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 與斐波那契數列思想一樣,同樣使用迴圈代替遞迴,時間複雜度為o n coding utf 8 class sol...