通過將值為i的元素調整到第i個位置上,如果對應位置已經有值為i的數字,則i值重複
使用二分法變體。通過統計陣列中i-m範圍數字個數是否為m-i+1判斷該範圍是否有重複數字。
時間複雜度o(nlogn),空間複雜度o(1)
從右上角或者左下角開始找。
右上角特徵:所在列的其他元素大於該數,所在行的元素小於該數。
左下角特徵:所在列的其他元素小於該數,所在行的元素大於該數。
通過右上角或左下角的對比可以每次比較刪除一行或者一列。
二維陣列的元素表示,分清比較的是右上角還是左下角
計算字串長度+雙指標+從後向前替換
分情況討論:
一點想法:
因為是中序遍歷,順序為左-中-右,所以用是否有右子樹進行分類?
使用stacka作為入佇列容器,stackb作為出佇列容器。
入佇列時直接將元素加入stacka;
出佇列時如果stackb為空,則將stacka元素壓入stackb,此時stackb棧頂為出佇列元素
出佇列時如果stackb不為空,stackb本身儲存順序為入棧的反序即入佇列的正序,直接取出stackb的棧頂元素即可
方法2:貪心演算法
重點是小數點判斷時不能是前一部分最後乙個且小數點前是數字且小數點不能是第乙個
注意python中的heapq預設實現的是最小堆,如果數字都是正數的話,可以通過將輸入數字取負的方式生成最大堆
劍指offer學習記錄
原碼 機器碼 反碼 除符號位,各位取反 補碼 反碼加一 此時沒有符號位的概念,即符號位也參與運算 例子 於是補碼的出現,解決了0的符號以及兩個編碼的問題 1 1 1 1 0000 0001 原 1000 0001 原 0000 0001 補 1111 1111 補 0000 0000 補 0000 ...
記錄劍指offer
1.四種與型別轉換相關的關鍵字 p23 type conversions 2.單例模式設計 p32 todo 單例模式設計 在真實的面試中有被問到過 餓漢式 多執行緒安全 餓漢式 在定義例項的時候就去new物件 以空間換時間 class csingleton private class garbag...
劍指offer題六
把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。public static void main string args ...