原创 劍指offer-醜數 python

題目描述 把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因爲它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。   class Solution:

原创 劍指offer-鏈表中環的入口節點 python

給一個鏈表,若其中包含環,請找出該鏈表的環的入口結點,否則,輸出null。 思路: 確定一個鏈表中是否存在環,用快慢指針法:走的快的指針追上了走得慢的指針,則存在環 得到環中節點的數目。兩個指針相遇的節點一定位於環內,可以從這個相遇的節點

原创 劍指offer-對稱的二叉樹

請實現一個函數,用來判斷一顆二叉樹是不是對稱的。 注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其爲對稱的。 思路:針對前序遍歷定義一種對稱的前序遍歷算法:先遍歷父節點,再遍歷它的右子節點,最後遍歷它的左子節點 python: #

原创 劍指offer-順時針打印矩陣python

輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字,例如,如果輸入如下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,16,15,14,1

原创 劍指offer-樹的子結構

輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構) python class Solution: def HasSubtree(self, pRoot1, pRoot2):

原创 劍指offer-數值的整數次方python

給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。 解法一:直接乘 class Solution: def Power(self, base, exponent):

原创 劍指offer-旋轉數組的最小數字

題目描述 把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。 輸入一個非減排序的數組的一個旋轉,輸出旋轉數組的最小元素。 例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 NOTE:給

原创 快速排序 python

實現思路: 兩個指針left,right分別指向列表的第二個元素和最後一個元素,然後取一個參考值,默認爲第一個列表的第一個元素list[0],稱爲pivotvalue 然後left指向的值先和參考值pivotvalue進行比較,若list

原创 華爲筆試題-明明的隨機數

明明想在學校中請一些同學一起做一項問卷調查,爲了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應着不同的學生的學號。然後再把這些數從小到大排序

原创 華爲筆試題-進制轉換

寫出一個程序,接受一個十六進制的數值字符串,輸出該數值的十進制字符串。(多組同時輸入 ) 輸入描述: 輸入一個十六進制的數值字符串。 輸出描述: 輸出該數值的十進制字符串。 輸入例子1: 0xA 輸出例子1: 10 思路:將字符串轉

原创 劍指offer-用兩個棧實現隊列

題目描述 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 思路:stack1用於存放push的元素            從stack2中pop元素 class Solution: def

原创 劍指offer-重建二叉樹 python

題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹

原创 linux常用命令總結

linux命令的基本格式:命令 【選項】【參數】,如  cd -l anaconda3 ls:顯示當前目錄下的內容(list) ls -a (all)顯示所有文件,包括隱藏的文件 ls -l 長格式顯示,顯示文件的詳細信息,文件大小是

原创 劍指offer-數組中重複的數字

題目描述 在一個長度爲n的數組裏的所有數字都在0到n-1的範圍內。 數組中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出數組中任意一個重複的數字。 例如,如果輸入長度爲7的數組{2,3,1,0,2,5,3}

原创 劍指offer50-第一次只出現一次的字符

題目描述 在一個字符串(0<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 注意:因爲題目要求返回字符(或者字符出現的位置),一次第二次遍歷是也是字符串