不得不說,週末要去考軟考了,有點小慌張。天氣冷了,早上起床好難受啊!!
單例模式的實現方式
滑動視窗演算法解leetcode[3]longest substring without repeating characters
我能想到的單例模式的實現方式一共有5中:
懶漢式餓漢式
雙重鎖判斷機制實現單例
靜態內部類實現
列舉類實現
public
class
singleton
/** * 方法同步,效率低
* @return
*/public
static
synchronized singleton getsingleton()
return instance;
}}
優點:
可以實現延時載入
執行緒安全
缺點:效率不高
public
class
singleton
public
static singleton getsingleton()
}
優點:
執行緒安全
呼叫效率搞
缺點:不能實現延時載入
public
class
singleton
/** * 雙重鎖機制,呼叫效率有所提高
* @return
*/public
static singleton getsingleton()
}}return instance;
}}
優點:
延遲載入
呼叫效率較高
缺點:因為jvm底層的原因,偶爾會出問題
public
class
singleton
/** * 構造器私有化
*/private
singleton()
public
static singleton getinstance()
}
優點:
執行緒安全
呼叫效率高
可以實現延遲載入
public
enum singleton
}
優點:
執行緒安全
呼叫效率高
能夠天然的放置反射和反序列化呼叫
缺點:不能實現延遲載入
題目描述
given a string, find the length of the longest substring without repeating characters.
example 1:
input: 「abcabcbb」
output: 3
explanation: the answer is 「abc」, with the length of 3.
example 2:
input: 「bbbbb」
output: 1
explanation: the answer is 「b」, with the length of 1.
example 3:
input: 「pwwkew」
output: 3
explanation: the answer is 「wke」, with the length of 3.
note that the answer must be a substring, 「pwke」 is a subsequence and not a substring.
解題思路
使用兩個指標l,r來標識區間[l,r]為滑動視窗。
並且使用乙個陣列來記錄視窗內字元出現的次數,整個陣列充當了map的角色
最初視窗大小是0的,右指標向右擴充套件,直到右邊的字元已經在視窗**現了,這個時候我們讓左指標向右拓展(視窗在縮小)直到視窗內沒有重複的字串。
**:
class
solution
else
res=math.
max(res,r-l+1)
;}return res;
}}
學習日記2
陣列的初始化,一維陣列和二維陣列的定義以及使用,字元陣列的定義和使用,函式的形式引數和實際引數,全域性變數和區域性變數,變數的儲存類別,預處理命令。今日任務完成情況 本日任務按照老師要求完成 今日開發中出現的問題彙總 編譯程式的出錯,演算法結構的不正確和不完整,以往的冒泡函式沒有記牢,對於陣列元素和...
班車日記 2
冬日晨曦 終於回暖了,狠狠的冷了乙個多禮拜,整個城市幾乎一半的人經歷過感冒之後,天氣終於暖和起來了。這兩天每天做在寬大舒適的班車上,太陽通過大大的玻璃窗照在我的身上,都是一路曬著暖暖的。看著窗外密密麻麻的樓房籠罩在薄薄的晨霧中,特別有那種經典的冬天早晨的感覺,跟坐在旁邊的同事說,他居然說我太詩情畫意...
變強真的很難麼?
做出這個決定,感到深深的無力感。感覺時間太長了些,平以往的經驗,我認為我做不到的。但是我真的想堅持一次。現在實驗室的人太多了,要踢掉8個人,我感覺我在黑名單之內,所以我要通過實力把自己從黑名單里拉出來。原計畫從六月一日,到七月一日奮鬥乙個月,但是感覺並不能說明什麼。糾結了一上午,考慮要不要一直堅持飽...