原创 校門外的樹(leetcode)

 某校大門外長度爲 L 的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是 1 米。我們可以把馬路看成一個數軸,馬路的一端在數軸 0 的位置,另一端在 L 的位置;數軸上的每個整數點,即 0,1,2,……,L,都種有一棵樹。由於馬路

原创 字符串分割(leetcode)

首先輸入數字n,表示要輸入多少個字符串。連續輸入字符串 (輸出次數爲N,字符串長度小於100)。 按長度爲8拆分每個字符串後輸出到新的字符串數組, 長度不是8整數倍的字符串請在後面補數字0,空字符串不處理。 Input: 5 w

原创 Python中的is和==區別

預先知識 Python的字典和集合底層都是哈希表實現的,哈希表存在兩個問題: 1. 哈希衝突的解決方法和根據裝載因子擴容問題 在Java中HashMap的實現方式是擴容容量增加爲原來兩倍,解決衝突的方法是鏈地址法, 當某個箱子

原创 反轉字符串(Leetcode)

problem address Write a function that reverses a string. The input string is given as an array of characters char

原创 併發編程之緩存一致性

併發編程之緩存一致性 Java內存模型(JMM)的設計是建立在物理機的內存模型之上的,因此瞭解物理機內存模型的原理也十分重要。簡單來說,物理機的內存模型經歷了3個階段: 早期的CPU計算速率與內存操作速率相當,CPU直接從內存中讀

原创 層序遍歷二叉樹(Leetcode)

problem address Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to rig

原创 用棧實現隊列(Leetcode)

problem address Implement the following operations of a queue using stacks. push(x) -- Push element x to the bac

原创 Python信號量threading.Semaphore

信號量主要用在保護有限的資源。 以數據庫連接數爲例說明,假設當前數據庫支持最大連接數爲3, 將信號量初始值設爲3,那麼同時最大可能有三個線程連接數據庫,其他線程若再想連接數據庫,則只有等待,直到某一個線程釋放數據庫連接 #!u

原创 python就餐問題

小明受邀參加朋友的晚會Part,形式爲自助餐,已經目前有N種食物編號1-N依次擺放在一行,小明可以從中挑選食物,但必須符合以下條件 如果選中了某個編號爲X的食物,則兩邊的食物不能選中(即x-1,x+1的食物不能選) 小明可以選擇

原创 python threading.Event

線程同步的方式 (保證線程安全) 互斥量(鎖): 通過互斥機制防止多個線程同時訪問公共資源 信號量(semaphore): 控制同一時刻多個線程訪問同一個資源的線程數 事件(signal): 通過通知的方式保持多個線程同步

原创 刪除一個鏈表節點(Leetcode)

problem address Write a function to delete a node (except the tail) in a singly linked list, given only access to

原创 python排序統計字符串

輸入字符串, 返回排序後的列表[(字符, 個數)] count_num.py str1 = "itesajlajlaf" """ 方法二: count = [0] * 1000 for x in str1:

原创 二叉樹鏡像(Leetcode)

problem address Invert a binary tree. Example: Input: 4 / \ 2 7 / \ / \ 1 3 6 9 Output:

原创 python元類實現orm

這篇文章將的很好, 推薦一下詳解orm #!usr/bin/python # -*- coding:utf8 -*- # 實現ORM # 定義Field類, 它負責保存數據庫表的字段名和字段類型 class Field(o

原创 MYSQL關於事務的SQL

事務 事務:  一個最小的不可再分的工作單元,通常一個事務對應一個完整的業務  一個完整的業務通常需要批量的DML(data manupulation language)語句共同聯合完成(insert, update, dele