看了很多熱心人的推薦,覺得leetcode應該也是個不錯的練習演算法的地方。
問題:given a list, rotate the list to the right bykplaces, wherekis non-negative.
for example:
given1->2->3->4->5->null
andk=2
,
return4->5->1->2->3->null
.
看起來非常簡單的問題,但是試了幾次才accepted,歸結其耗時的原因是:
1 . 匆忙解答,思路不系統(尤其是對看起來簡單的問題,最容易犯的毛病);
2. 沒有系統分析特殊情況
leetcode的online judge系統還是不錯的,測試用例很全,所以,有一點東西沒考慮到都會被rejected的。
下面是解答程式,應該都注釋好了,看起來算清晰了吧:
#includeusing namespace std;
//definition for singly-linked list.
struct listnode
};class solution
} //2. special situation1
if(i==k) return head;
//3. special situation2
if(k>i)
}//connect new link
cur->next = head;
head = pre->next;
pre->next = null;
return head;
}};int main()
trycoutpn=pn->next;
} cout<
看來演算法的提高真是任重而道遠!
//2014-1-30 update
listnode *rotateright(listnode *head, int k)
listnode *h = pre->next;
pre->next = nullptr;
head->next = dummy.next;
return h;
} int getlistlength(listnode *h)
Ubuntu 安裝 vue cli錯誤分析及解決
通過官方指令 npm install g vue cli 安裝vue腳手架提示 no command vue found,did you mean command vpe from package texlive latex extra universe vue command not found ...
庖丁解牛Linux核心分析 0x00 《庖丁解牛》
庖丁解牛 吾生也有涯,而知也無涯 以有涯隨無涯,殆已!已而為知者,殆而已矣!為善無近名,為惡無近刑。緣督以為經,可以保身,可以全生,可以養親,可以盡年。庖丁為文惠君解牛,手之所觸,肩之所倚,足之所履,膝之所踦,砉然嚮然,奏刀騞然,莫不中音。合於 桑林 之舞,乃中 經首 之會。文惠君曰 嘻,善哉!技蓋...
機動車輛保險全解分析
車險要想買得省錢,首先要了解各險種,才知自己的車需要買什麼,不需要買什麼,在此略作險種分析 1.車輛損失險 主險 車輛損失險是指保險車輛遭受保險責任範圍內的自然災害 不包括 或意外事故,造成保險車輛本身損失,保險人依據保險合同的規定給予賠償。這與第三者剛相反是顧自己的,要買.2.第三者責任險 主險 ...