風(fēng)云的ARTS打卡(第三周)

第3周

Algorithm:?

最長回文子串

給定一個字符串?s疑枯,找到?s?中最長的回文子串椭更。你可以假設(shè)s?的最大長度為 1000抄罕。

解:

可以用“中心擴(kuò)展法”屁药,難點是要處理好奇數(shù)字符回文和偶數(shù)字符回文的情況。

class Solution {

? ? public String longestPalindrome(String str) {

????????int n = str.length();

? ? ? ? if (n <= 1) return str;

????????int lMax = 0;

????????int beginIdx = 0, endIdx = 0;

????????for (int i = 0; i < n; ++i) {

????????????int r = 1;

????????????int r1 = 1;

????????????// abcba的情況

????????????while (true) {

????????????????if ((i - r) >= 0 && (i + r) <= (n - 1) && str.charAt(i - r) == str.charAt(i + r)) {

????????????????????if (r*2+1 > lMax) {

????????????????????????lMax = 2*r+1;

????????????????????????beginIdx = i - r;

????????????????????????endIdx = i + r;

????????????????????}

????????????????????++r;

????????????????} else {

????????????????????break;

????????????????}

????????????} // while(true)


????????????//abba的情況

????????????while (true) {

????????????????if ((i - r1 + 1) >= 0 && (i + r1) <= (n - 1) &&

????????????????????str.charAt(i - r1 + 1) == str.charAt(i + r1)) {

????????????????????????if (r1*2 > lMax) {

????????????????????????????lMax = r1*2;

????????????????????????????beginIdx = i - r1 + 1;

????????????????????????????endIdx = i + r1;

????????????????}

????????????????++r1;

????????????????} else {

????????????????????break;

????????????????}

? ? ? ? ? ? } // while(true)

????????}

????????String subStr = str.substring(beginIdx, endIdx+1); //如果沒找到回文情屹,默認(rèn)返回第一個字符

????????return subStr;? ? ? ?

? ? }

}

后續(xù):

這道題有O(n)的算法坪仇,后面要再思考、學(xué)習(xí)一下垃你。


Review: ?

?因為項目中發(fā)現(xiàn)的mysql死鎖問題椅文,在搜索引擎里挑了一篇排在前面的關(guān)于mysql鎖的英文文章讀了一下。

Explaining InnoDB Explicit Locking Mechanisms

文章講解了mysql鎖的基本機(jī)制惜颇,但其實太基本了皆刺,沒有深入原理,內(nèi)容太少凌摄。所以其實有些英文文章也不是都很好的羡蛾。


Tip:

項目中發(fā)生mysql死鎖。

場景:并發(fā)insert_update(insert锨亏,如果沒有主鍵重則插入痴怨,如果主鍵重則update)同一條記錄。

原因:insert會在記錄上加上排他意向鎖器予、update會加上排他鎖浪藻,在多線程并發(fā)操作同一條記錄時會相互沖突產(chǎn)生死鎖。具體產(chǎn)生死鎖的過程乾翔,還需要詳細(xì)分析爱葵,詳見下面Share部分的鏈接文章。

解決辦法:

1末融、不同線程用id來區(qū)分操作的數(shù)據(jù)钧惧,避免不同事務(wù)操作同一條記錄;

2勾习、先查詢是否存在記錄浓瞪;如果存在,則執(zhí)行update巧婶;如果不存在乾颁,則執(zhí)行insert。


Share:

mysql insert鎖機(jī)制(insert死鎖)

這篇中文博文寫的很相識艺栈,比上文那篇英文文章深入很多英岭,值得細(xì)讀。更深入研究的話湿右,可以進(jìn)一步學(xué)習(xí)文章引用的資料诅妹,其實mysql的官方文檔中關(guān)于innodb鎖機(jī)制的描述最應(yīng)該認(rèn)真學(xué)習(xí)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吭狡,隨后出現(xiàn)的幾起案子尖殃,更是在濱河造成了極大的恐慌,老刑警劉巖划煮,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件送丰,死亡現(xiàn)場離奇詭異,居然都是意外死亡弛秋,警方通過查閱死者的電腦和手機(jī)器躏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蟹略,“玉大人登失,你說我怎么就攤上這事】坪酰” “怎么了壁畸?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵贼急,是天一觀的道長茅茂。 經(jīng)常有香客問我,道長太抓,這世上最難降的妖魔是什么空闲? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮走敌,結(jié)果婚禮上碴倾,老公的妹妹穿的比我還像新娘。我一直安慰自己掉丽,他們只是感情好跌榔,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捶障,像睡著了一般僧须。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上项炼,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天担平,我揣著相機(jī)與錄音,去河邊找鬼锭部。 笑死暂论,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拌禾。 我是一名探鬼主播取胎,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼湃窍!你這毒婦竟也來了闻蛀?” 一聲冷哼從身側(cè)響起摄杂,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎循榆,沒想到半個月后析恢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡秧饮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年映挂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盗尸。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡柑船,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出泼各,到底是詐尸還是另有隱情鞍时,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布扣蜻,位于F島的核電站逆巍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏莽使。R本人自食惡果不足惜锐极,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芳肌。 院中可真熱鬧灵再,春花似錦、人聲如沸亿笤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽害碾。三九已至俘闯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罕拂,已是汗流浹背揍异。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留爆班,地道東北人衷掷。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像柿菩,于是被迫代替她去往敵國和親戚嗅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • <center>#1 Two Sum</center> link Description:Given an arr...
    鐺鐺鐺clark閱讀 2,154評論 0 3
  • 【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子懦胞,小兔子長到第三個月后每個月又生一對兔...
    開心的鑼鼓閱讀 3,320評論 0 9
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,343評論 0 2
  • 單純替久,她是一個人。 一個遠(yuǎn)離世俗躏尉,空無一物的人蚯根。 她簡單,她純真胀糜,她有說不完的好颅拦, 縱使包袱萬千,路途萬里教藻,艱辛萬...
    殘影末路閱讀 195評論 0 0
  • 一個人最應(yīng)突破的網(wǎng)距帅,是自己! 一個人最難突破的網(wǎng)括堤,是自己碌秸!
    二小姐的馬閱讀 302評論 1 2