原创 給定一個數組,判斷從開始能否走到結束,最多需要幾步?
1、給定一個非負數組,數組中的元素代表從當前位置可以向後跳幾步,判斷能否走到數組末尾。例如:A = [2,3,1,1,4], return true;A = [3,2,1,0,4], return false. public bo
原创 Java 建造者模式
描述:將一個複雜的構建與其表示相分離,使得同樣的構建過程可以創建不同的表示。建造模式是將複雜的內部創建封裝在內部,對於外部調用的人來說,只需要傳入建造者和建造工具,對於內部是如何建造成成品的,調用者無需關心。“建造的內容”是由建造
原创 一個無序整數數組中找到最長連續序列(Longest Consecutive Sequence)和兩個元素使得相差最小
無序數組中查找最長連續序列: 1、最笨的方法,首先將無序數組排序,然後依次遍歷查找最長連續序列。時間複雜度爲O(nlgn),空間複雜度爲O(1)。 2、首先將元素存入HashSet,然後逐個遍歷原數組。判斷當前遍歷的元素-1在不
原创 單例模式(多例,線程安全)
單例模式的本質是控制實例的個數,例如限制代碼中的實例個數爲確定的n個,一般情況下爲1個。看代碼: class ConnectionManager { private static ConnectionManager man
原创 MapReduce詳細的工作流程(MapReduce2)
上一篇詳細講了MapReduce1的工作流程,這一篇主要講基於YARN系統的MapReduce 2的工作流程。 對於大於4000個節點的集羣來說,MapReduce1系統將會產生一個規模瓶頸,因此Yahoo在2010年開始設計下
原创 無序數組O(n)時間找到排序後的兩個相鄰元素使得他們之間的差最大
1、基數排序,然後根據排序後的數組找到相差的最大值。 public int maximumGap(int[] nums) { if (nums == null || nums.length < 2) { retur
原创 KNN算法
1、介紹 KNN算法又稱爲k近鄰分類(k-nearest neighbor classification)算法。KNN是一種監督類型的分類算法,通過計算新數據與訓練數據特徵值之間的距離,然後選取K(K>=1)個距離最近的鄰居進行分類判斷(
原创 ES索引存儲原理
ES索引存儲原理 不變性 寫到磁盤的倒序索引是不變的:自從寫到磁盤就再也不變。 這會有很多好處: 不需要添加鎖。不存在寫操作,因此不存在多線程更改數據。 提高讀性能。一旦索引被內核的文件系統做了Cache,絕大多數的讀操作會直接從內存
原创 nginx tcp模塊安裝
nginx tcp模塊安裝 nginx版本 選擇版本 tcp_model https://github.com/yaoweibin/nginx_tcp_proxy_module 初始 nginx 1.12 版本安裝 需要安裝Open
原创 數組中除一個元素外其他所有元素出現二或三次,找到只出現一次的元素
1、數組中除一個元素外其他所有元素出現二,找到只出現一次的那個元素。 public int singleNumber(int[] nums) { int res = nums[0]; for (int i
原创 全排列問題
1、打印一個無重複元素數組的全排列 public List<List<Integer>> permuteUnique(int[] nums) { List<List<Integer>> ans = new ArrayLis
原创 二叉樹的三種非遞歸遍歷和morris遍歷
1、先序遍歷 public static void printPreOrder(TreeNode node) { Queue<TreeNode> queue = new LinkedList<TreeNode>();
原创 HDFS的一些常問問題
爲什麼HDFS的blocksize是128M? 磁盤的塊大小爲512byte,HDFS的塊大小爲128Mb,主要原因是爲了減少磁盤的尋道時間。一次尋道大約需要10ms,目前市面上的千兆網卡速度爲100Mb/s,尋道時間應該只佔傳輸時
原创 將一棵二叉樹按行輸出
給定一個二叉樹,按行從左到右輸出一個樹。例如按如下格式: 6 5 15 7 9 10 50 1、遞歸計算,感覺這種辦法好傻 public List<List<Integer>> levelOrder(TreeNode root
原创 恢復一棵二叉查找樹
二叉搜索樹中有兩個節點的值被相互交換,還原一個正常的二叉搜索樹。 二叉搜索樹,中序遍歷,每次遍歷的值都會比上次遍歷的值小。根據中序遍歷的這個性質可以找到值錯誤的節點,用first表示上一次遍歷的節點,用second表示當前遍歷的節點,但是