原创 將升序數組轉化爲平衡二叉樹

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、取單鏈表的中間節點;