標籤:

lintcode刷題

最近開始在lintcode的上做演算法題,畢竟還是初學者,了解的很少,做起題目來也是十分的困難,有時候做一道題目好花上3~4個小時,不過感覺收穫還是很大的。

在網上查資料的時候,所有的技術型文章幾乎都是在CSDN上,所以,我也在CSDN上開了一個博客,開始在裡面寫技術內容了。而在知乎上主要是進行一些感受,心得的分享。

首先,先說一下我最近在做的題目:(簡單和入門的我就不說了啊)

5.第K大元素(LintCode第K大元素(非快速排序法) - CSDN博客)

這一道題目,我做了很久,主要是對快速排序法不理解,然後用自己的方法寫了出來,當做出來的時候,感覺很爽。不過沒有去考慮時間複雜度和空間複雜度,但應該比快速排序差吧。

51.上一個排列 52.下一個排列。

這兩道題目解法幾乎是差不多的,網上也有很多文章講述了該解法,所以我就沒有把我的解法寫在博客中了。

426.恢復IP地址

題目: 給一個由數字組成的字元串。求出其可能恢復為的所有IP地址。

樣例:

給出字元串"25525511135",所有可能的IP地址為:

[

"255.255.11.135",

"255.255.111.35"

]

這道題目我今天剛剛做好,我就說一下思路。

我先把輸入的字元串轉化成char[],在利用遞歸,把IP地址中的「.」與字元組合起來。組合好以後進行判斷,判斷是否是正確的IP地址。

在做的過程中,我遇到了一個問題:

在判斷組合好的IP地址是,我採用的是split()方法,把字元串進行切割判斷。但是一直報錯,找了很久的原因,終於發現是我的split()方法用錯了。在以「.」進行切割的時候,不能直接寫成str.split("."),而要寫成str.split("\.")。具體原因我暫時還沒找到,先記著,會用就行。

最後,我創了一個lintcode刷題的組,有興趣一起刷題的可以加入一下。

lintcode刷題組

推薦閱讀:

演算法工程師面試總結
基於深度學習的廣告CTR預估演算法
阿里內推演算法-圖形圖像方向,三面結束,總結面經祭奠一下
LeetCode LRU演算法
[Leetcode][SQL] 596. Classes More Than 5 Students

TAG:演算法 |