原创 劍指offer:禮物的最大價值

題目:禮物的最大價值 在一個m×n的棋盤的每一格都放有一個禮物,每個禮物都有一定的價值(價值大於0)。你可以從棋盤的左上角開始拿格子裏的禮物,並每次向右或者向下移動一格直到到達棋盤的右下角。給定一個棋盤及其上面的禮物,請計算你最多能拿到多少

原创 劍指offer:把數字翻譯成字符串

題目要求:給定一個數字,按照如下規則翻譯成字符串:0翻譯成“a”,1翻譯成“b”...25翻譯成“z”。一個數字有多種翻譯可能,例如12258一共有5種,分別是bccfi,bwfi,bczi,mcfi,mzi。實現一個函數,用來計算一個數字

原创 劍指offer:數字序列中某一位的數字

題目描述數字以0123456789101112131415…的格式序列化到一個字符序列中。在這個序列中,第5位(從0開始計數)是5,第13位是1,第19位是4,等等。請寫一個函數,求任意第n位對應的數字。 # -*- coding: utf

原创 劍指offer:整數中1出現的次數

題目描述求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?爲此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把問題更加普遍

原创 劍指offer:連續子數組的最大和

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

原创 劍指offer:數據流中的中位數

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

原创 劍指offer:字符串的組合

# -*- coding: utf-8 -*- # @Time : 2019-07-08 9:52 # @Author : Jayce Wong # @ProjectName : job # @FileName

原创 劍指offer:數組中出現次數超過一半的數字

題目描述數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入一個長度爲9的數組{1,2,3,2,2,2,5,4,2}。由於數字2在數組中出現了5次,超過數組長度的一半,因此輸出2。如果不存在則輸出0。 # -*- codi

原创 劍指offer:最小的k個數

題目描述輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 # -*- coding: utf-8 -*- # @Time : 2019-07-08 2

原创 劍指offer:二叉搜索樹與雙向鏈表

題目描述輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。 # -*- coding: utf-8 -*- # @Time : 2019-07-07 11:03

原创 劍指offer:複雜鏈表的複製

題目描述輸入一個複雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針指向任意一個節點),返回結果爲複製後複雜鏈表的head。(注意,輸出結果中請不要返回參數中的節點引用,否則判題程序會直接返回空) # -*- co

原创 劍指offer:字符串的排列

輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。 # -*- coding: utf-8 -*- # @Time

原创 劍指offer:序列化二叉樹

題目描述請實現兩個函數,分別用來序列化和反序列化二叉樹 # -*- coding: utf-8 -*- # @Time : 2019-07-07 15:48 # @Author : Jayce Wong # @P

原创 劍指offer:二叉搜索樹的後序遍歷序列

題目描述輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 class Solution: """ 一個二叉搜索樹BST滿足: max(

原创 劍指offer:二叉樹中和爲某一值的路徑

題目描述輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,數組長度大的數組靠前) class TreeNode