原创 劍指offer面試題【45】----把數組排成最小的數【全排列】【map函數】【python】

題目描述 輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字爲321323。 代碼實現 import itertools cl

原创 計算機基礎題

1.已知隨機變量X,Y相互獨立,且服從N(0,兩個六面骰子的點數乘積的期望是1),請問X+Y的標準差是:() 解析:E(X-Y)=E(X)-E(Y)=0,var(X-Y)=var(X)+var(Y)=2,所以標準差爲 2.兩個六面骰子的點

原创 劍指offer面試題【43】----1~n整數中1出現的次數【count函數】

題目描述 求出任意非負整數區間中1出現的次數(從1 到 n 中1出現的次數)。1~13中包含1的數字有1、10、11、12、13因此共出現6次。 代碼實現 # -*- coding:utf-8 -*- class Solution:

原创 劍指offer面試題【41】----數據流中的中位數

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

原创 劍指offer面試題【42】----連續子數組的最大和

題目描述 給一個數組,返回它的最大連續子序列的和,例如:{6,-3,-2,7,-15,1,2,2},連續子向量的最大和爲8(從第0個開始,到第3個爲止)。 代碼實現 class Solution: def FindGreates

原创 劍指offer面試題【39】----數組中出現次數超過一半的數字

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

原创 劍指offer面試題【38】----字符串的排列

題目描述 輸入一個字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串abc,則打印出由字符a,b,c所能排列出來的所有字符串abc,acb,bac,bca,cab和cba。 輸入描述: 輸入一個字符串,長度不超過9(可能有字

原创 按因數最多的個數排序----【創建字典】【字典按鍵排序】【兩個列表變爲字典】【輸出字典的鍵】

題目描述 按從大到小的順序輸出合數因數個數最多的序列,合數的因數1和它本身不計數。 代碼實現 a=input() a=list(map(int,a.split())) #print(a) count_list=[] for i in

原创 劍指offer面試題【34】----二叉樹中和爲某一值的路徑【二叉樹】【遞歸】

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

原创 劍指offer面試題【33】----二叉搜索樹的後續遍歷序列【Python】

題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 代碼實現  # -*- coding:utf-8 -*- class Solution

原创 劍指offer面試題【32.3】----之字形打印二叉樹【反轉列表】【Python】

題目描述 請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 代碼實現 # -*- coding:utf-8 -*- # class Tree

原创 leetcode【62】----不同路徑【Python】【遍歷二叉樹】

題目描述   給定二叉搜索樹的根結點 root,返回 L 和 R(含)之間的所有結點的值的和。 二叉搜索樹保證具有唯一的值。 示例 1: 輸入:root = [10,5,15,3,7,null,18], L = 7, R = 15 輸出

原创 劍指offer面試題【32.2】----分行從上到下打印二叉樹【二叉樹】【隊列】【Python】

題目描述 從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 代碼實現 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): #

原创 劍指offer面試題【32】----從上到下打印二叉樹【隊列】【舉例讓抽象問題具體化】【Python】

題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 思路 從上到下打印二叉樹的規律: 每次打印一個節點後,如果該節點有子結點,則把該節點的子節點放到一個隊列的末尾。接下來到隊列的頭部取出最早進入隊列的節點,重複前面的打印操作

原创 劍指offer面試題【31】----棧的壓入、彈出序列【Python】【棧】【舉例讓問題具體化】

題目描述 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能爲該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5