牛客網刷題筆記

2021-07-13 12:56:27 字數 860 閱讀 3827

今天在牛客網刷了一道求最長字串是回文數的長度,剛開始的時候,我用兩個指標,乙個指前邊,乙個指後邊,對比兩個指標指向的值,相等則前邊的指標後移,後邊的指標前移,然後再判斷是否相等,如果不相等,那麼就不是回文數,前邊的指標回到第一次開始的地方,後邊的指標回到第一次開始的地方,前邊的指標再自加後移移位,然後再判斷。。。邏輯總是感覺很混亂,這樣本文沒法在很短的時間內寫出漂亮正確的**。今天早上,我又想到了乙個方法,不是求子串回文數嗎?那我先求出子串,再判斷該子串是不是回文數,是的話就返回該子串長度不就行了嗎!這樣邏輯不就很清楚了嗎!1.先求子串,求子串的函式有三個引數,原字串,起始位置,終止位置,然後返回型別為string的字串,至於起始位置和終止位置,我就用兩個for迴圈來變化。2,怎麼判斷回文數。回文數的特點是從左向右和從右向左是完全一樣的,那我就先將子串壓入棧中,然後出棧建立另乙個字串,判斷兩個字串是否相等,若相等,就返回字串長度,若不相等,就返回0。然後在主函式中,需要定義乙個當前長度current_length和最大長度max_length,每次返回的字串長度給當前長度current_length,然後比較當前長度和最大長度哪個大,如果當前長度大於最大長度,那就把當前長度的值賦給最大長度。只要邏輯清晰,寫**就很清楚了,一次也就能寫正確,當然是在手指或筆頭不出錯的情況下了。最後,附上**,供以後查驗:

class palindrome

return b;

}int lengthofpalindrome(string a)

if (a == b)

return a.size();

else

return 0;

}int getlongestpalindrome(string a, int n)

return max_length;}};

牛客網刷題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...

牛客網刷題

時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 立華奏是乙個剛剛開始學習 oi 的萌新。最近,實力強大的 qingyu 當選了 iods 9102 的出題人。眾所周知,iods 是一場極其毒瘤的比賽。為了在這次...

牛客網刷題筆記 c 篇

1 if a b c 的判斷是先判斷 a b 若為真值為1否則為 1,再將1或 1與c做比較。雖然這樣的寫法較少,但不會編譯出錯。2 構造異質鍊錶的意義是用抽象類指標構造類物件鍊錶。在實際中,很多場景都要用鍊錶來管理不同型別的物件 結點,這樣的鍊錶叫異質鍊錶,如果將這些不同型別的物件用鍊錶進行直接鏈...