原创 結構型設計模式-享元模式

什麼是享元模式 享元模式爲運用共享技術有效的支持大量細粒度的對象。因爲它可以通過共享大幅度地減少單個實例的數目,避免了大量非常相似類的開銷。 享元模式是一個類別的多個對象共享這個類別的一個對象,而不是各自再實例化各自的對象。這樣

原创 [我的PHP之旅] 03. mysql數據庫的安裝

在centOS 7中並沒有多少對mysql的有效描述。事實上,人家在centOS中已經正式更名爲mariaBD。翻譯一下或許叫“瑪麗亞數據庫”?也不知道有什麼典故,據說性能變得更好了。 首先我們就yum下載安裝我們的my

原创 [我的PHP之旅] 01. 建立CentOS7虛擬機

在windows上聯繫了一段時間的php,感覺上和一直喜歡的java從操作上來講區別是有一些,但是從行爲模式上來說並沒有太大的區別。作爲技能拓展就讓我把php給學下來吧。首先第一步我要建立centOS的Linux虛擬機服務器,然後安裝Ap

原创 [我的PHP之旅] 02. 在Linux上搭建Apache服務器

在建立了CentOS 7的linux環境之後,爲了我們的PHP能夠運行,我們還要安裝Apache的linux版本以及mysql、php。其實如果只爲了快速搭建環境呢,大家可以使用套件LAMP(Linux,Apache,Mysql,PHP)

原创 程序員面試金典 1.3 確定兩串亂序同構

題目 給定兩個字符串,請編寫程序,確定其中一個字符串的字符重新排列後,能否變成另一個字符串。這裏規定大小寫爲不同字符,且考慮字符串重點空格。 給定一個string stringA和一個string stringB,請返回一個boo

原创 程序員面試金典 1.1 確定字符互異

題目 請實現一個算法,確定一個字符串的所有字符是否全都不同。這裏我們要求不允許使用額外的存儲結構。 給定一個string iniString,請返回一個bool值,True代表所有字符全都不同,False代表存在相同的字符。保證字

原创 程序員面試金典 1.5 基本字符串壓縮

題目 利用字符重複出現的次數,編寫一個方法,實現基本的字符串壓縮功能。比如,字符串“aabcccccaaa”經壓縮會變成“a2b1c5a3”。若壓縮後的字符串沒有變短,則返回原先的字符串。 給定一個string iniStrin

原创 程序員面試金典 1.2 原串翻轉

題目 請實現一個算法,在不使用額外數據結構和儲存空間的情況下,翻轉一個給定的字符串(可以使用單個過程變量)。 給定一個string iniString,請返回一個string,爲翻轉後的字符串。保證字符串的長度小於等於5000。

原创 程序員面試金典 1.4 空格替換

題目 請編寫一個方法,將字符串中的空格全部替換爲“%20”。假定該字符串有足夠的空間存放新增的字符,並且知道字符串的真實長度(小於等於1000),同時保證字符串由大小寫的英文字母組成。 給定一個string iniString 爲

原创 程序員面試金典 2.6 迴文鏈表

題目 請編寫一個函數,檢查鏈表是否爲迴文。 給定一個鏈表ListNode* pHead,請返回一個bool,代表鏈表是否爲迴文。 我的題解 import java.util.*; /* public class ListNode {

原创 結構型設計模式-橋接模式

什麼是橋接模式? 橋接模式是可以將類的抽象部分與實現部分分離開來的一種設計模式,這使得程序支持了開閉原則,並且降低了耦合性。 代碼實現 abstract class Abstraction { private Implem

原创 程序員面試金典 1.8 翻轉子串

題目 假定我們都知道非常高效的算法來檢查一個單詞是否爲其他字符串的子串。請將這個算法編寫成一個函數,給定兩個字符串s1和s2,請編寫代碼檢查s2是否爲s1旋轉而成,要求只能調用一次檢查子串的函數。 給定兩個字符串s1,s2,請返回boo

原创 結構型設計模式-裝飾模式

什麼是裝飾模式 裝飾模式動態地給一個對象添加一些額外的職責,就增加功能來說,它比生成子類更靈活。也可以這樣說,裝飾模式把複雜類中的核心職責和裝飾功能區分開了,這樣既簡化了複雜類,有去除了相關類中重複的裝飾邏輯。 裝飾模式沒有通過繼承原有類

原创 結構型設計模式-代理模式

什麼是代理模式 爲其他對象提供一種代理,並由代理對象控制對原對象的引用,以間接控制對原對象的訪問。 實現一個代理模式 interface Image { public void displayImage(); } //on Sy

原创 結構型設計模式-組合模式

什麼是組合模式? 組合模式挺簡單的,就是把一些對象組裝成一個樹狀結構。但是要求用戶使用單一對象和使用組合對象要具有一致性。 實現一個組合模式 interface Composite { public void add(Co