原创 劍指offer-連續子數組的最大和(python和c++)

題目描述 HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了:在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全爲正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負

原创 C++提高編程_04STL- 函數對象

4 STL- 函數對象 4.1 函數對象 4.1.1 函數對象概念 概念: 重載函數調用操作符的類,其對象常稱爲函數對象 函數對象使用重載的()時,行爲類似函數調用,也叫仿函數 本質: 函數對象(仿函數)是一個類,不是一個函數

原创 劍指offer-平衡二叉樹(python和c++)

題目描述 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。 在這裏,我們只需要考慮其平衡性,不需要考慮其是不是排序二叉樹 思路: 最直接的做法,遍歷每個結點,藉助一個獲取樹深度的遞歸函數,根據該結點的左右子樹高度差判斷是否平衡,然後

原创 劍指offer-順時針打印矩陣(python和c++)

題目描述 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,3,4,8,12,1

原创 目標檢測常用數據集介紹

以下介紹來自於github工程整理:DeepLearning-500-questions,具體gihub項目在文末參考。 PASCAL VOC數據集 VOC數據集深入介紹在文末參考,垃圾CSDN,有鏈接就不讓發。。。 VOC數

原创 劍指offer-複雜鏈表的複製(python和c++)

題目描述 輸入一個複雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針random指向一個隨機節點),請對此鏈表進行深拷貝,並返回拷貝後的頭結點。(注意,輸出結果中請不要返回參數中的節點引用,否則判題程序

原创 劍指offer-二叉樹中和爲某一值的路徑(python和c++)

題目描述 輸入一顆二叉樹的根節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 思路: 1.先判斷根節點的值是否爲我們要找的值,是的話直接返回根節點

原创 python中列表推導式和生成器的比較

列表推導式 優點:如果生成列表的方式不太複雜,這是建議使用列表推導式,其內部是通過cpython來實現的比較用for循環要快;列表推導式可以遍歷任意次。 缺點:一次性加載所有的數據到內存,不適合大量數據。 生成器 生成器可以使用y

原创 python中的sum()函數

Python sum() 函數 描述 sum() 方法對系列進行求和計算。 用法 sum(iterable[, start]) 參數 iterable – 可迭代對象,如:列表、元組、集合。 start – 指定相加的參數,如果

原创 劍指offer-二叉樹的深度(python和c++)

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 思路:層次遍歷,直接遍歷每一層,左右節點不爲空d就加1。 python # -*- coding:

原创 劍指offer-剪繩子(python和c++)

題目描述 給你一根長度爲n的繩子,請把繩子剪成整數長的m段(m、n都是整數,n>1並且m>1),每段繩子的長度記爲k[0],k[1],…,k[m]。請問k[0]xk[1]x…xk[m]可能的最大乘積是多少?例如,當繩子的長度是8時

原创 劍指offer-滑動窗口的最大值(python和c++)

題目描述 給定一個數組和滑動窗口的大小,找出所有滑動窗口裏數值的最大值。例如,如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3,那麼一共存在6個滑動窗口,他們的最大值分別爲{4,4,6,6,6,5}; 針對數組{2

原创 劍指offer-機器人的運動範圍(python和c++)

題目描述 地上有一個m行和n列的方格。一個機器人從座標0,0的格子開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數位之和大於k的格子。 例如,當k爲18時,機器人能夠進入方格(35,37),因爲

原创 劍指offer-序列化二叉樹(python和c++)

題目描述 請實現兩個函數,分別用來序列化和反序列化二叉樹 二叉樹的序列化是指:把一棵二叉樹按照某種遍歷方式的結果以某種格式保存爲字符串,從而使得內存中建立起來的二叉樹可以持久保存。序列化可以基於先序、中序、後序、層序的二叉樹遍歷方

原创 劍指offer-數據流中的中位數(python和c++)

題目描述 如何得到一個數據流中的中位數?如果從數據流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從數據流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。我們使用Insert()方法讀取數