原创 歸併排序

def merge(A,p,q,r): left=A[p:q+1].append(float('inf') right=A[q+1:r+1].append(float('inf')) i=0 j=0

原创 冒泡排序

def bubbleSort(l): length=len(l) for i in range(1,length): j=length-1 while j>=i:

原创 <每日一題>最大回文子字符串

使用Manacher法求解 def findBMstr(s): #創建新的s new_s='' for sub in s: new_s+='#'+sub new_s='#' #初始化

原创 <再來一題>數組中是否存在兩數之和等於target

問題描述: 給定一個數組:a1,a2,…,an,和一個目標數值target,問數組中是否存在兩個數ai和aj,使得ai+aj等於target。 解題思路: 先將數組排序,時間複雜度爲O(nlogn),然後分別用兩個指針 i , j

原创 自動發郵件腳本

在內網內連接服務器經常需要知道服務器的ip地址,那麼有沒有辦法在開機的時候自動發郵件告訴我們呢?答案是肯定的。 系統 ubantu16.04 思路:利用系統初始化時啓動的腳本執行一個發送郵件的python腳本 查閱資料可以知道,ub

原创 #leetcode#321.Create Maximum Number

題目描述: Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum number of length

原创 #牛客2017愛奇藝編程3題#

一.括號匹配深度 一個合法的括號匹配序列有以下定義: 1、空串”“是一個合法的括號匹配序列 2、如果”X”和”Y”都是合法的括號匹配序列,”XY”也是一個合法的括號匹配序列 3、如果”X”是一個合法的括號匹配序列,那麼”(X)”也是

原创 計算圖片中矩形間的IOU

#a和b均是(x1,y1,x2,y2)形式,(x1,y1)(x2,y2)表示所截取矩形的左上角和右下角座標 def intersection(a.b): #求重合區左上角座標 x=max(a[0],b[0]) y=

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

可以通過二叉樹的前序遍歷,用一個stack來保存當前遍歷的路徑,遇到葉結點時判斷是否和對應的值(expectNumber-該結點前路徑之和)相等。注意stack的出棧時機。 # -*- coding:utf-8 -*- # class T

原创 <n天才一題>#leetcode#最大容水量

題目描述: Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertica

原创 #劍指offer#正則表達式的字符串匹配。

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

原创 #leetcode#650. 只有兩個鍵的鍵盤

題目描述: 最初在一個記事本上只有一個字符 'A'。你每次可以對這個記事本進行兩種操作: Copy All (複製全部) : 你可以複製這個記事本中的所有字符(部分的複製是不允許的)。 Paste (粘貼) : 你可以粘貼你上一次複製的字

原创 #劍指offer#從上往下打印二叉樹

定義一個隊列,依次加入隊列頭的子節點,並將隊列頭出隊列,知道隊列爲空 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self

原创 #劍指offer#兩個鏈表的第一個公共結點

隱含條件:兩個鏈表的公共結點後的結點一定相同,因爲公共結點只有一個指向後面結點的指針,不可能兩條鏈表相交後又會分叉。 思路1:遍歷兩條鏈表,找到較長的一條,記爲l,長度記爲l1;較短的一條記爲s,長度爲s1;讓較長的一條先走l1-s1,然

原创 #leetcode#149. Max Points on a Line

題目描述 Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.(二維座標下給定n個2維的點