原创 Django Web項目啓動以及Model層設計基礎

      接下來使用Django框架自帶的命令,創建源碼目錄 接下來,我們要拆分settings用來適應不同的環境   這裏的數據庫配置的是本地的sqlite3, 如果需要配置mysql等其他數據庫,需要重新

原创 Django 實戰開發後臺管理系統思路

  Django本身已經自帶了這樣一個管理平臺,我們只要配置一下就能使用。 我們需要在後臺創建一個超級管理員賬戶。 登錄到網站後臺後,之前配置的選項就會出現         總結:在設計好Model時候,用Django自帶的

原创 Leetcode 遍歷模擬題目螺旋矩陣

模擬題目,使用額外的空間來記錄是否遍歷過,時間複雜度O(n^2) const int dx[]={1,0,-1,0}; const int dy[]={0,1,0,-1}; class Solution { public: v

原创 Leetcode 42接雨水(從暴力開始優化,難度偏大)

 如果一開始就想雙指針之類O(N)的算法是很困難的,先想想最暴力的做法: 單獨計算每一個位置可以接多少水?每次單獨向左向右遍歷:先找到左邊和右邊的最大值,在取最小值即可。時間複雜度是O(N^2) class Solution { pu

原创 科研進展7/3

總結: 1. 高溫相結構如圖1沒問題,可以和APRES實驗對上。 2. 從原始費米麪nesting可以解釋sqrt(3)xsqrt(7)的低溫CDW 3. 可以用第一性的方法研究,不同CDW序,在做一個2*1的結果 4. 嘗試用應力解釋2

原创 Leetcode 76最小覆蓋串 滑動窗口問題

  這是典型的滑動窗口,建議用兩個Hash表,如果想優化,後期可以優化成一個,但兩個Hash表不容易出錯。是否已經包含,(不需要遍歷一遍Hash表,這裏有一個技巧,就是用一個count。滑動窗口始終維護住成立即可) class So

原创 Leetcode 79 DFS單詞搜索

這是典型的DFS搜索問題,這裏有一個技巧是,不需要每次都用一個visited數組來判斷是否遍歷過,直接用在原地修改,然後進行回溯,走過,就把當前格點換位‘.',之後再復原。   const int dx[]={1,0,-1,0}; c

原创 Leetcode 84 85, 最大矩形問題的暴力枚舉方法

  暴力法:枚舉所有的矩形,時間複雜度O(n^3) class Solution { public: int largestRectangleArea(vector<int>& heights) { // 暴

原创 Hubbard模型 RPA近似

   

原创 Leetcode 89 格雷碼

    格雷碼的構造基於以下規律: 這裏有一個技巧就是不要用二進制表示,而是找規律把這個二進制表示變爲整數運算。 遞歸寫法 class Solution { public: vector<int> grayCode(in

原创 Leetcode 60 第k個排列詳解

  我們不是從低位到高位確定排列,而是反過來,從高位到低位: 最高位有n種填法,餘下的是n-1!種填法。 n=3,k=3,n-1! = 2, 所以第一位是2,剩下兩位是2,1,3, n=4,k=9,n-1!=6, 所以第一位是2,

原创 二維費米麪的計算

在一個矩形區域,求解Tight-Bindind能帶, 然後在第一布里淵區內,使用matlib函數,截取等高線即可。 function H=Hamiltonian_TaS2_k(kx,ky) e1 = 1.4052; e2 = 1.34

原创 Leetcode 71 簡化路徑 字符串模擬

    這題難得地方,是將字符串分組,怎麼看待由/分割得字符串。 一種直接得想法是直接split分割所有得/,然後得到得數組再拼接處理。這樣是可行得做法。 如果不用split函數呢? 關鍵是要把   / home/ fool/看成由

原创 Leetcode 57 插入區間模擬題目

  這是一個典型的模擬題目,區間可以分成三部分   有交集的部分需要處理合成一個區間,這裏邊界條件比較多。寫的時候需要特別小心 class Solution { public: vector<vector<int>> ins

原创 Leetcode 10 比較難的動態規化正則表達式匹配

  要利用遞推性質,將最後一個表達式優化成如下形式: 轉移方程的推導,轉移方程的化簡  class Solution { public: bool isMatch(string s, string p) {