Time of Update: 2018-12-05
面試中經常會被問到報數遊戲。遂實現一下。問題描述: 設有N個人圍坐一圈並按順時針方向從1到N編號,從第S個人開始進行1到M報數,報數到第M個人時,此人出圈,再從他的下一個人重新開始1到M的報數,如此進行下去直到所有的人都出圈為止。現要列印出出圈次序。輸入:n 遊戲總人數 s 報數的起始編號 m 報數的數值 輸出:p 指向長度為n的數組,出圈次序儲存在p指向的數組中 樣本 n=7 s=2 m=3 出圈次序為:4 7 3 1 6 2 5 n=3 s=1 m=2 出圈次序為:2 1 3
Time of Update: 2018-12-05
轉自:http://myoraclex.blog.51cto.com/2288027/413175hibernate中提供了兩級Cache,第一層級的緩衝是Session層級的緩衝,它是屬於事務範圍的緩衝。這一層級的緩衝由hibernate管理的,一般情況下無需進行幹預;第二層級的緩衝是SessionFactory層級的緩衝,它是屬於進程範圍或群集範圍的緩衝。這一層級的緩衝可以進行配置和更改,並且可以動態載入和卸載。
Time of Update: 2018-12-05
文章目錄 1.前台組織架構2.使用Micro-Templating3.重構4.重新整理5.getUrlParam
Time of Update: 2018-12-05
移動搜尋和資料倉儲一直是我十分感興趣的領域,個人感覺兩者可以有機的結合起來:使用者搜尋的關鍵字是資料倉儲的主要未經處理資料源,用於分析使用者的搜尋習慣、搜尋愛好、搜尋頻率,其分析結果反過來又可以支援和提高搜尋的精確度。為什麼說搜尋的精確度對移動搜尋特別重要呢?個人感覺原因有2:首先因為移動搜尋是在行動裝置上進行的搜尋,不可能像PC機那樣擁有幾百M的記憶體和幾個G的CPU,不能支援儲存大容量的搜尋結果;根據以往的統計情況來看,搜尋的結果最好限制在1頁~5頁之間,每頁的資料量可以控制在3條左右,對於
Time of Update: 2018-12-05
轉自:http://ylsun1113.iteye.com/blog/828542我對設計模式的理解: 應該說設計模式是我們在寫代碼時候的一種被承認的較好的模式,就像一種宗教信仰一樣,大多數人承認的時候,你就要跟隨,如果你想當一個社會存在的話。好的設計模式就像是給代碼造了一個很好的骨架,在這個骨架裡,你可以知道心在哪裡,肺在哪裡,因為大多數人都認識這樣的骨架,就有了很好的傳播性。這是從易讀和易傳播來感知設計模式的好處。當然設計模式本身更重要的是設計原則的一種實現,比如開閉原則,依賴倒置原則,這些
Time of Update: 2018-12-05
轉自:http://book.51cto.com/art/200909/152101.htm圖2.3簡單描述了Struts的工作原理。它把Struts架構處理客戶請求的整個過程細分為八個步驟,下面就來詳細分析這些步驟。 (點擊查看大圖)圖2.3 struts工作原理1.
Time of Update: 2018-12-05
一、Prototype模式的實現: 1、淺複製: a. 提供一個類作為複製的原型,該類實現了Clonable介面 b. 在該類中覆蓋Object類的clone()方法,採用super.clone()方法完成複製 c. 在外部使用場合先產生一個原型對象,然後調用其clone()方法產生複製對象2、深複製: a. 提供一個類作為複製的原型,該類實現了Serializable介面 b.
Time of Update: 2018-12-05
<script>function sAlert(txt){//var eSrc=(document.all)?window.event.srcElement:arguments[1];var shield = document.createElement("DIV");shield.id = "shield";shield.style.position = "absolute";shield.style.left = "0px";shield.style.top =
Time of Update: 2018-12-05
一、對Builder模式解耦“過程”和“組件”的理解:首先以組裝汽車為例,一部汽車可以由發動機、方向盤、車輪等組件組成,而要把這些組件組裝成一部完整的汽車則需要一個複雜的過程。相同的組件在不同的汽車工廠組裝出來的就成為不一樣的汽車。這就是Builder模式的最原始需求原型從中我們可以看出,如果我們能夠提供這樣一種服務:客戶只需要提供給我們必要的零件,並告知我們最終要組裝成的汽車類型,由汽車裝配公司負責整個後端的裝配工作-對客戶來說是完全透明的。那麼我們將可以實現“組件”和“過程”的解耦。只要我們
Time of Update: 2018-12-05
問題描述:輸入一個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。 問題分析:這是一道很好的考查對遞迴理解的編程題。寫遞迴程式關鍵有兩點,處理好進入與返回的關係,進入時改變了什麼,返回時應當恢複。字串全排列,每次交換2個字元的位置,就會得到一個新的排列。 我們以三個字元abc為例來分析一下求字串排列的過程。首先我們最後一個字元c,然後列印字串"abc",交換"ab",列印"bac"。完成內層操作,
Time of Update: 2018-12-05
一、%rowtype只是指明引用的記錄的類型,但不保證NOT NULL約束我們知道使用%type和%rowtype可以分別指定引用的欄位、記錄類型,但其中有一個特別需要注意的地方:%type和%rowtype都不保證NOT NULL約束。例如:DECLARE my_empno emp.empno%TYPE; --emp.empno should not be null ...BEGIN my_empno := NULL; - - this works
Time of Update: 2018-12-05
問題描述:輸入一個整數數組,調整數組中數位順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。要求時間複雜度為O(n)。 問題分析:如果不考慮時間複雜度,最簡單的思路應該是從頭掃描這個數組,每碰到一個偶數時,拿出這個數字,並把位於這個數字後面的所有數字往前挪動一位。挪完之後在數組的末尾有一個空位,這時把該偶數放入這個空位。由於碰到一個偶數,需要移動O(n)個數字,因此總的時間複雜度是O(n2)。 題目要求的是把奇數放在數組的前半部分,偶數放在數組的後半部分,因此所有的奇數應該位於偶
Time of Update: 2018-12-05
#include <iostream>#include <cstdlib>using namespace std;#define MAX 10int partition(int Array[], int low, int high){int pivot = Array[high];while (low<high){while (Array[low]<pivot && low<high){low++;}if
Time of Update: 2018-12-05
問題描述:給定兩個單向鏈表,找出它們的第一個公用節點。鏈表的節點定義如下: struct ListNode{ int m_nKey; ListNode*
Time of Update: 2018-12-05
轉自:http://myoraclex.blog.51cto.com/2288027/4130581.Session 層級的緩衝,它同session邦定。它的生命週期和session相同。Session消毀,它也同時消毀;管理一級緩衝,一級緩衝無法取消,用兩個方法管理,clear(),evict()2.兩個session 不能共用一級緩衝,因它會伴隨session的生命週期的建立和消毀;3.Session緩衝是實體層級的緩衝,就是只有在查詢對象層級的時候才使用,如果使用HQL和SQL是查詢屬性層
Time of Update: 2018-12-05
問題描述:輸入一個鏈表的頭結點,從尾到頭反過來輸出每個結點的值。鏈表結點定義如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};問題分析:看到這道題後,第一反應是從頭到尾輸出比較簡單。於是很自然地想到把鏈表中連結結點的指標反轉過來,改變鏈表的方向。然後就可以從頭到尾輸出了。但該方法需要額外的操作,應該還有更好的方法。接下來的想法是從頭到尾遍曆鏈表,每經過一個結點的時候,把該結點放到一個棧中。當遍曆完整個鏈表後,
Time of Update: 2018-12-05
問題描述:一個數組中除了兩個數字之外,其餘數字均出現了兩次(或偶數次)。請寫出程式尋找出這兩個只出現一次的數字,要求時間複雜度為O(n),空間複雜度為O(1)。 問題分析:這是一道很新穎的關於位元運算的面試題。首先考慮這個問題的一個簡單版本:一個數組中除了一個數字之外,其餘的數字均出現兩次,請寫程式找出這個出現一次的數字。 這個問題的突破口在哪裡?題目為什麼強調有一個數字只出現一次,其他的出現兩次?我們想到異或運算的性質,任何一個數字異或自身都為0。也就是說,如果我們從頭到尾依次異或數組中的每一
Time of Update: 2018-12-05
轉自:http://apps.hi.baidu.com/share/detail/663486scope用來聲明IOC容器中的對象應該處的限定情境或者說該對象的存活空間,即在IOC容器在對象進入相應的scope之前,產生並裝配這些對象,在該對象不再處於這些scope的限定之後,容器通常會銷毀這些對象。打個比方吧!我們都是處在社會(容器)中,如果把中學教師作為一個類定義,那麼當容器初始化這些類之後,中學教師只能局限在中學這個情境中,中學,就可以看做中學教師的scope。Spring容器最初提供了兩
Time of Update: 2018-12-05
轉自:http://wuyue37307.blog.163.com/blog/static/2758371200981103810985/String a = new String("b");到底是幾個對象? 哈哈,要理解這個,就要知道string類的工作原理。 你知道在java中除了8中基本類型外,其他的都是類對象以及其引用。所以 "xyz "在java中它是一個String對象.對於string類對象來說他的對象值是不能修改的,也就是具有不變性。 看:
Time of Update: 2018-12-05
解決辦法: 1.為Myeclipse外掛程式的Application Server指定新的JRE。 2.修改預設的JRE配置路徑。 方法1(以Tomcat5為例): 點擊eclipse 的功能表項目 視窗 -> 喜好設定 在MyEclipse -> Application Servers中選擇需要配置的應用伺服器Tomcat5,選擇應用伺服器下的JDK,可以看到右邊出現"Tomcat JDK name"項,點擊右部按鈕 "