原创 將升序數組轉化爲平衡二叉樹
public class Solution { TreeNode convert(int num[], int l, int r) { if (l >= r) return null; int m
原创 平衡二叉樹判定
1. int height(TreeNode root) { if (root == null) return 0;
原创 矩形相交判斷超簡單方法
設矩形A(xa1,ya1),(xa2,ya2),B(xb1,yb1),(xb2,yb2) 其中: xa1<=xa2,ya1<=ya2 xb1<=xb2,yb1<=yb2 先看線段相交的判斷: La:xa1,xa2 xa1<=xa2 L
原创 生成所有的BST
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For example, Given n =
原创 文件路徑化簡
Given an absolute path for a file (Unix-style), simplify it. For examp
原创 Sed的常用命令語法備忘
Sed是一個非交互性文本流編輯器。它編輯文件或標準輸入導出的文本拷貝。vi中的正則表達式命令在sed中大多可以通用。 sed常用選項 -e script 指定sed編輯命令 -f scriptfile 指定的文件中是sed編
原创 求二叉樹最遠距離
int max=Integer.MIN_VALUE; int maxHeightSum(TreeNode root) { if (root == null) return 0; int maxL
原创 有序數列中位
算法導論第九章習題原題: 核心是將原問題轉變成一個尋找第k小數的問題(假設兩個原序列升序排列),這樣中位數實際上是第(m+n)/2小的數。所以只要解決了第k小數的問題,原問題也得以解決。 首先假設數組A和B的元素個數都大於k/2
原创 Best Time to Buy and Sell Stock IV
Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find t
原创 zookeeper原理
ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,它包含一個簡單的原語集,分佈式應用程序可以基於它實現同步服務,配置維護和命名服務等。Zookeeper是hadoop的一個子項目,其發展歷程無需贅述。在分佈式應用中,由
原创 linux基礎編程:IO模型:阻塞/非阻塞/IO複用 同步/異步 Select/Epoll/AIO
IO概念 Linux的內核將所有外部設備都可以看做一個文件來操作。那麼我們對與外部設備的操作都可以看做對文件進行操作。我們對一個文件的讀寫,都通過調用內核提供的系統調用;內核給我們返回一個file descriptor(fd,文件
原创 用dfs實現拓撲排序
拓撲排序,詳見算法導論 There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prereq
原创 字典樹
Design a data structure that supports the following two operations: void addWord(word) bool search(word) search(word
原创 分佈式一致性算法
分佈式設計與開發中有些疑難問題必須藉助一些算法才能解決,比如分佈式環境一致性問題,感覺以下分佈式算法是必須瞭解的(隨着學習深入有待添加): Paxos算法一致性Hash算法 Paxos算法 1)問題描述 分佈式中有這麼一個疑難問題,
原创 快慢指針在鏈表中的應用
鏈表的操作題有很多,最常見的莫過於,單鏈表的反轉之類,這裏僅對可以用快慢指針來解決的題目進行解析。 1、判斷單鏈表中是否存在有環,如果有的話,找出這個環的入口節點; 2、取單鏈表的中間節點;