原创 Oracle中的commit與rollback

SQL語言分爲五大類: DDL(數據定義語言) - Create、Alter、Drop 這些語句自動提交,無需用Commit提交。 DQL(數據查詢語言) - Select 查詢語句不存在是否提交問題。 DML(數據操縱語言) - Ins

原创 Oracle中的連接查詢

本文在於弄懂join、inner join;left join、left outer join; right join、right outer join;full join、full outer join;scoss join在oracl

原创 面試題33: 二叉搜索樹的後續遍歷序列

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

原创 面試題32:從上到下打印二叉樹

# 面試題32:從上到下打印二叉樹 # 定義二叉樹節點 class BinaryTreeNode: def __init__(self, val): self.val = val self.le

原创 面試題29:順時針打印矩陣

# -*- coding:utf-8 -*- class Solution: # matrix類型爲二維列表,需要返回列表 def printMatrix(self, matrix): # write c

原创 面試題31:棧的壓入、彈出序列

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

原创 面試題30:包含min函數的棧

題目:定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。在該棧中,調用min、push、pop的時間複雜度都是O(1) class Solution: def __init__(self):

原创 面試題23:鏈表中環的入口結點

解題分析:其實此題可以分解爲三個題目:1)如何判斷一個鏈表中是否包含環?2)如何找到環的入口節點?3)如何得到環中節點的數目? 解決此題:可以設置兩個指針,一快一慢。 1.兩個指針一個fast、一個slow同時從一個鏈表的頭部出發   f

原创 面試題22:鏈表中倒數第K個結點

題目:輸入一個鏈表,輸出該鏈表中倒數第k個結點。 解題思路:爲了實現只遍歷鏈表一次就能找到倒數第k個節點,我們可以定義兩個指針。讓第一個指針先向前走k-1步,第二個指針保持不動;從第k步開始,第二個指針也開始從鏈表的頭指針開始遍歷。由於兩

原创 面試題21:調整數組順序使奇數位於偶數前面

題目:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。 解題思路:使用兩個指針,第一個指針初始化指向數組的第一個數字,從前向後移動,遇到偶數就停下來;第二個指針指向數組的

原创 灰色預測模型

原文鏈接:https://www.jianshu.com/p/a35ba96d852b 一、前言   本文的目的是用Python和類對灰色預測進行封裝 二、原理簡述 1.灰色預測概述   灰色預

原创 面試題20:表示數值的字符串

題目:請實現一個函數用來判斷字符串是否表示數值(包括整數和小數)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+

原创 面試題17:打印從1到最大的n位數

題目:輸入數字n,按順序打印出從1到最大的n位十進制數,比如輸入3,則打印出1、2、3一直到最大的3位數999. class Solution: def Print1ToMaxOfNDigits(self, n):

原创 面試題18:刪除鏈表的結點

題目:在O(1)時間內刪除鏈表節點。給定單向鏈表的頭指針和一個節點指針,定義一個函數在O(1)時間內刪除該節點。 解題思路:我們要刪除節點i,先把i的下一個節點j的內容複製到i,然後把i的指針指向節點j的下一個節點。此時再刪除節點j,其效

原创 面試題19:正則表達式匹配

題目:請實現一個函數用來匹配包括'.'和'*'的正則表達式。模式中的字符'.'表示任意一個字符,而'*'表示它前面的字符可以出現任意次(包含0次)。 在本題中,匹配是指字符串的所有字符匹配整個模式。例如,字符串"aaa"與模式"a.a"和