原创 歸併排序
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維的點