原创 Java之兩種單例模式和懶漢式存在的缺陷及解決

1.單例設計模式 解決的問題:就是可以保證一個類在內存中的對象唯一性。比如對於多個程序使用同一個配置信息對象時,就需要保證該對象的唯一性。 如何保證對象的唯一性呢? 1.不允許其他程序用new來創建該類對象。 2.在該類中創建一個本類實例

原创 Java之對象的克隆

1.對象的淺克隆 1.一個對象如果要調用clone()方法,那麼該對象所屬的類必須實現Cloneable接口。 2.Cloneable接口是一個標識接口,沒有任何方法。 3.對象的淺克隆:在克隆一個對象的時候,如果被克隆的對象中維護了另外

原创 Java之觀察者設計模式

-------------------------------------------------------天道酬勤 觀察者設計模式 解決的問題:當一個對象發生指定的動作時,另外一個對象要做出相應處理的時候。 比如天氣站播報天氣,不同人

原创 求s=a+aa+aaa+...+a...a(n)

----------------------------天道酬勤 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加) 給定a和n 分析:下一個數等於上一個

原创 斐波那契之兔子問題

有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子對數爲多少?  分析問題: 根源:1對小兔子 第一個月 1 小兔子 第二個月 1 兔子成熟 第三個月 2 生了一對小兔

原创 正整數分解質因數的解法

--------------------------------天道酬勤 將一個正整數分解質因數     分析:     1.問題細化,可以先找到一個質數使得正整數%質數==0     2.然後問題可以轉化成分解正整數/質數     3.

原创 Java之運行順序

----------------------------------天道酬勤 1.構造代碼塊 {           //構造代碼塊,用於初始化 } 2.靜態代碼塊 static{         //靜態代碼塊 } 隨着類的加載而加載,

原创 水仙花問題的求解

---------------------------------------天道酬勤 打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個 "水仙花數 ",因爲153=1的三

原创 一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數

一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數.該數是多少呢? 分析:x+168=m^2,x+100.=n^2,m^2-n^2=68,(m+n)*(m-n)=68 找出68的因子即可 代碼如下: /* 一個整

原创 找出範圍裏的完數

---------------------------天道酬勤 完數:一個數的真因子(除自身外所有的因子)之和等於自身 分析:一個數的真因子,可以通過窮舉找出,不過那樣循環次數比較多。第二種,找到一個其實就是找到了一對,a*a=b;那麼一

原创 KMP字符串匹配算法及其實現

--------------------------------天道酬勤 KMP(字符串1,字符串2) kmp算法實現字符串1不回溯,一趟找到字符串1中是否包含字符串2。關鍵在於如何確定失配時字符串2的偏移量。以下用一張圖來說明 代碼實現

原创 JavaScript操作頁面之添加附件與省市聯動

--------------------------------天道酬勤 如何添加多個附件 代碼如下: <html> <head> <meta http-equiv="content-type" content="text/htm

原创 prim算法求最小生成樹

----天道酬勤算法描述:1).輸入:一個加權連通圖,其中頂點集合爲V,邊集合爲E;2).初始化:Vnew = {x},其中x爲集合V中的任一節點(起始點),Enew = {},爲空;3).重複下列操作,直到Vnew = V:a.在集合E

原创 中序二叉樹的建立與遍歷

中序二叉樹:#include<stdlib.h>#include<stdio.h>#define maxs 100typedef char datatype;typedef enum pointertag{link,thread};typ

原创 直接插入排序與折半插入排序

——天道酬勤直接插入排序的算法思路:(1) 設置監視哨r[0],將待插入記錄的值賦值給r[0];(2) 設置開始查找的位置j;(3) 在數組中進行搜索,搜索中將第j個記錄後移,直至r[0].key≥r[j].key爲止;(4) 將r[0]