變強日記2

2021-09-29 09:41:38 字數 2299 閱讀 1810

不得不說,週末要去考軟考了,有點小慌張。天氣冷了,早上起床好難受啊!!

單例模式的實現方式

滑動視窗演算法解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個人,我感覺我在黑名單之內,所以我要通過實力把自己從黑名單里拉出來。原計畫從六月一日,到七月一日奮鬥乙個月,但是感覺並不能說明什麼。糾結了一上午,考慮要不要一直堅持飽...