原创 判斷兩個鏈表是否相交併且返回第一個交點

在攜程面試的一道算法題,主要的考點在於兩個鏈表交叉後,以後的部分都是一樣的,只可能是Y型的交叉而不可能出現X型的交叉, 首先定義節點: struct Node{ int data; Node* next; }; 最笨的方法是遍歷所有的

原创 找出2N+1個兩兩配對數中落單那個

對於這個問題,最暴力的求解方法是採用遍歷的操作,然後全部進行,以下方法使用了一個輔助類,其原理是一個智能容器,當插入元素的時候判斷集合中是否已經有了

原创 匹配兩個字符串的最大子串

今天去遠景能源面試,考官讓我寫一個計算兩個字符串最大共有字符串的算法,當時寫的有點low,使用了Java的contains方法,不斷從找尋第二個字符串的子串進行配對,考官勉強給我通過,後面回來自己重寫了一下,避免了contains函數,如

原创 單例模式的正確使用姿勢

最原始的單例: class HotelBusProcessor{ private static HotelBusProcessor instance = null; private HotelBusProcessor()

原创 求一個字符串的最大連續遞增數子串

public class FindLongestAccend { String findLongestAccendSubString(String src){ if(src==null) return null; int le

原创 underscore的bindAll和bind到底是什麼

這個話題首先得從apply開始說起。bindAll內部實現使用了bind,而bind的內部實現又使用了apply。所以明白apply是什麼作爲第一步是非常重要的! 利用apply來幫我們改變this 先來看個例子: var some =

原创 怎樣用Javascript定義一個"類"

Javascript是木有class一說的,可是寫慣了Java的童鞋們轉過來寫Javascript的時候,咋辦呢,既然Javascript是面向對象的,那麼總得有OOP的辦法吧!廢話少說,開動! 1. 屬性 Javascript的類是通過

原创 字符串爲*號和26個字母的任意組合把*號都移動到最右側,把字母移到最右側並保持相對順序不變

void adjustString1(char* str){ int len = strlen(str); char* ceil = str+len-1;//找到數組的天花板,注意最後一個字符的'\0',不要寫成str+

原创 遞歸求解二叉樹的深度

首先定義節點 class Node{ int data = 0; Node left = null; Node right = null; }假設根節點爲 Node root;求解樹的深度爲 int getTreeDepth(Nod

原创 壓縮字符串如aaabbbcccc爲a3b3c4

public class CompressString { String compress(String src){ StringBuilder ret = new StringBuilder(); int p1 = 0;in

原创 使用Handler來實現實現事件重複驅動類JobDriver

簡單介紹 這裏利用Android OS的Handler類實現了一個簡易的定頻事件驅動類,使用起來簡單方便,比如在Slider滑動效果,計數器以及其他需要定頻事件驅動的場合。 實現原理 首先定義了幾個參數 private Run

原创 找出N個數中最小的K個數(最小時間空間複雜度)

public class HeapFindMinK { private int[] r; private int k; HeapFindMinK(int[] r,int k){ this.r = r; this.k = k;

原创 判斷一字符串是不是對稱的

int isSymetrical(char* src){ int len = strlen(src); if(src==NULL || len <= 1) return -1; bool ret = 1;

原创 檢查一個字符串是否包含beautiful string

abc aabbcc aaabbbccc...之類的字符串被稱爲beautiful string,現在給定一個字符串,判斷它是否包含beautiful string! public class CheckBeautifulString {

原创 查找單鏈表的倒數第k個節點

這道題考察了邊界條件,首先得判斷鏈表的長度得小於或者等於k,然後按照先將一個指針移動到k-1的位置,再用一指針指向頭部和它一起移動,直到第一個指針到底,這樣時間複雜度爲O(N),代碼如下 public class LastK { c