原创 【LeetCode】26.Remove Duplicates from Sorted Array 刪除有序鏈表中的相同元素

一、概述 給一個有序的vector,刪除其中的重複元素。要求空間複雜度爲O(1),不允許另外新建vector。 我第一反應就是用vector自帶的erase函數。但是效果很差。 然後開始思考,我這種方法沒有用到有序這一特性,只用到了“相

原创 【LeetCode】24. Swap Nodes in Pairs 兩兩交換鏈表中的元素

一、概述 題目很直觀,兩兩交換就是兩兩交換,我覺得不用再解釋了。就是1234變成2143。 我的思路也很好想:把原來的鏈表拆成奇鏈表和偶鏈表,原來的順序是奇偶奇偶,之後是偶奇偶奇。 二、分析 1、我的方法 很繁瑣,主要是把鏈表分離開很麻

原创 【LeetCode】20、Merge Two Sorted Lists 合併兩個有序鏈表

一、概述 孤兒題,看上去特別簡單,實際做起來我十分懷疑我的智商。 我的思路經歷了以下幾次變化: 最開始: 兩個鏈表l1和l2,先比較各自的第一個元素,小的當頭,然後比較小的元素的後一個元素和較大的元素...... 舉例來說就是對於1、3、

原创 【LeetCode】19. Remove Nth Node From End of List 刪除鏈表的倒數第N個數

一、概述 題目很直觀。就是從後往前數第N個數,刪除它。與我之前做的課後作業中的返回倒數第k個數類似。 我寫的不怎麼樣,很繁瑣,不滿意。 空間複雜度還好,但我想只要是維護指針的應該都一樣好,時間複雜度還有提升的空間。 二、分析 1、我的方

原创 【LeetCode】18. 4Sum 指定和選擇四個數字

一、概述 給出一個序列nums和一個和target,在數列中找出四個數字,它們的和爲target。輸出所有的這四個數字。 可以說是之前的3sum的拓展版。 我的思路就是暴力求解,因此時間複雜度沒得卡看,空間複雜度還可以。 二、分析 1、

原创 【LeetCode】17. Letter Combinations of a Phone Number 集合元素配對

一、概述 給出2-9共八個數字與字母的映射,然後輸入一個數字序列,輸出所有可能的字母序列。 本題的背景爲九宮格輸入法,第一眼看到這題有點蛋疼。因爲暴力窮舉實在是太好想了,但是時間複雜度過於誇張——就算按小了算,每個數字對應三個字母,那一個

原创 【跟着Head First學python】11¾、關於線程:處理等待

1、引入線程 嗯,線程,在操作系統這門課中學過這玩意,最經典的問題就是線程與進程的區別:線程是輕量級的進程,線程只擁有內存balabala,現在要討論的不是這個。 現在我們要解決以下問題: 再上一章中,我們遇到了以下問題:如果某一函數執行

原创 【跟着Head First學python】12、高級迭代:瘋狂地循環

1、初識CSV 本章是Head First的最後一章了,不再爲我們的webapp添加更多功能,而是着重討論python中的循環與推導式。在討論這些之前,先來深入瞭解一下python中的數據處理。 現在我們有一個csv文件,不要糾結csv文

原创 【跟着Head First學python】10、函數修飾符:包裝函數

1、web的狀態與訪問權限 我們在上一章已經完成了日誌的記錄與SQL的處理。並且可以通過viewlog網址查詢所有的日誌。但是現在問題來了:作爲日誌數據這樣較爲敏感較爲有價值的信息,應該是所有人可以隨意看到的嗎? 不應該。我們應添加一個功

原创 【跟着Head First學python】8、一點點類:抽象行爲和狀態

1、類的引入 我們在第七章中想要實現代碼的可重用、SQL連接與斷開的簡略寫法,而這需要上下文管理協議的支持,而爲了使用上下文管理協議,我們引入了類。在本章中,暫時不進行上下文管理協議與類的交互問題,而只討論類。 當然,其他複雜功能諸如繼承

原创 【跟着Head First學python】7、使用數據庫:具體使用Python的DB-API

1、安裝mysql 我的服務器上已經有了mysql,因此這裏只進行win平臺上的mysql安裝。 很簡單,進入該網址,下載並安裝即可。 安裝之後並不能直接用,這個安裝其實是解壓,要想真正安裝成功,需要利用cmd進入mysql解壓後的文件夾

原创 【跟着Head First學python】9、上下文管理協議:掛接Python的with語句

1、上下文管理的內容 在我初步的認知裏,上下文管理,就是with,用處就是;爲了減少代碼量,提高代碼可讀性,同時避免犯一些缺少exit的錯誤。當然不止這些,但現在,我們只需要知道這些就已經足夠。 上下文管理,首先需要一個類,這個類裏面必須

原创 【跟着Head First學python】11、異常處理:出問題了怎麼辦

1、爲什麼需要異常處理 先看一下我們在第十章之後寫完的代碼: from flask import Flask, render_template,request,redirect,escape,session from vsearch i

原创 【跟着Head First學python】6、存儲和管理數據:數據放在哪裏

1、對文件的基本操作 Python提供了內置支持來實現文本文件的打開、處理和關閉。 ①、文件的打開 利用函數open,該函數有多種模式,但是主要功能是打開一個文件,並返回一個“流”。流可以認爲是文件的一個別名,流的內容就是文件的內容。op

原创 【python應用】flask+gunicorn+nginx+supervisor:在服務器上部署python的web應用

我的生產環境爲Centos7,python3.5。 使用的模塊爲flask+gunicorn+nginx+supervisor。 主要參考了該網址與該網址。 flask我們已經較熟悉,是一個開發web應用的python模塊。gunicor