用linux的人都頻繁碰到過(guò)一個(gè)問(wèn)題:Linux磁盤(pán)滿(mǎn)了,好那就開(kāi)始排查問(wèn)題吧!使用df -h命令 確實(shí)磁盤(pán)是滿(mǎn)了,于是習(xí)慣性的用du -sh * 看下是每個(gè)文件占用的空間 ...
用linux的人都頻繁碰到過(guò)一個(gè)問(wèn)題:Linux磁盤(pán)滿(mǎn)了,好那就開(kāi)始排查問(wèn)題吧!使用df -h命令 確實(shí)磁盤(pán)是滿(mǎn)了,于是習(xí)慣性的用du -sh * 看下是每個(gè)文件占用的空間 ...
需求比協(xié)議重要,理解你的需求在前,選擇應(yīng)用的協(xié)議在后! 第一、是什么? 解釋這個(gè)問(wèn)題有很大的難度,你所處的角度不同,決定了所需答案的不同。不管怎么樣,協(xié)議是為了解決問(wèn)題而生的...
一、SOLID 設(shè)計(jì)模式的六大原則有: Single Responsibility Principle:?jiǎn)我宦氊?zé)原則 Open Closed Principle:開(kāi)閉原則 L...
前言 Blocks是C語(yǔ)言的擴(kuò)充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這個(gè)新功能“Blocks”。從那開(kāi)始,Block就出現(xiàn)在iOS...
轉(zhuǎn)載來(lái)自http://m.itdecent.cn/p/40dd526686f3[http://m.itdecent.cn/p/40dd526686f3]這里只是為...
前言 在我們的實(shí)際開(kāi)發(fā)中,Block的使用率相當(dāng)之高,我們?cè)谑褂肂lock的時(shí)候,會(huì)遇到各種各樣的問(wèn)題,比如經(jīng)典的循環(huán)引用,那么這些問(wèn)題到底是怎么產(chǎn)生的,我們又該如何去解決,...
我們?cè)诖罱║I界面時(shí),有很多時(shí)候,我們會(huì)用到iOS自帶的繪圖功能來(lái)完成一些界面的效果,很常用也很方便。今天我們?cè)谶@里就一起討論一下iOS的繪圖功能。 CoreGraphics...
給定一個(gè)數(shù)字,我們按照如下規(guī)則把它翻譯為字符串:0翻譯成"a”,1翻譯成"b”,...,11翻譯成"I”,...., 25翻譯成"z"。一個(gè)數(shù)字可能有多個(gè)翻譯。請(qǐng)編程實(shí)現(xiàn)一個(gè)...
應(yīng)用程序從源代碼到可執(zhí)行文件都經(jīng)歷了哪些過(guò)程呢? 可分為兩步:編譯和鏈接。而編譯又可分為三部,分別是預(yù)處理,編譯,匯編,大體執(zhí)行流程入下圖所示: 到現(xiàn)在為止,我們把編譯器看作...
入口函數(shù)和程序初始化 程序從 main 開(kāi)始的嗎? 程序從 main 函數(shù)開(kāi)始。但是事情的真相真是如此嗎?如果你善于觀(guān)察,就會(huì)發(fā)現(xiàn)當(dāng)程序執(zhí)行到 main 函數(shù)的第一行時(shí),很多...
翻轉(zhuǎn)一棵二叉樹(shù)。 遞歸 迭代 BFS(廣度優(yōu)先遍歷) 如果對(duì)樹(shù)的遍歷比較熟悉的話(huà),我們只要遍歷樹(shù)的所有節(jié)點(diǎn),然后把他們的左右子節(jié)點(diǎn)相互交換即可,如果這樣寫(xiě),那么答案就比較多了...
思路:使用兩個(gè)指針變量,剛開(kāi)始都位于鏈表的第 1 個(gè)結(jié)點(diǎn),慢指針一次只走 1 步,快指針一次只走 2 步,一個(gè)在前,一個(gè)在后,同時(shí)走。這樣當(dāng)快指針走完的時(shí)候,慢指針就來(lái)到了鏈...
快慢指針 我們定義兩個(gè)指針,一快一滿(mǎn)。慢指針每次只移動(dòng)一步,而快指針每次移動(dòng)兩步。初始時(shí),慢指針在位置 head,而快指針在位置 head->next。這樣一來(lái),如果在移動(dòng)的...
假設(shè)鏈表為 1→2→3→?,我們想要把它改成 ?←1←2←3。 在遍歷鏈表時(shí),將當(dāng)前節(jié)點(diǎn)的 next 指針改為指向前一個(gè)節(jié)點(diǎn)。由于節(jié)點(diǎn)沒(méi)有引用其前一個(gè)節(jié)點(diǎn),因此必須事先存儲(chǔ)其...