原创 UVA 10023 - Square root(手算平方根)

題目:UVA 10023 - Square root(手算平方根) 題目鏈接 題目大意:求給定的一個數的平方根。 解題思路:用二分但是這個數太大了,就超時了。看題接後發現需要用一種手算平方根的算法。 算法:  先判斷這個數是不是偶數位,

原创 UVA10986 - Sending email(Dijkstra)

UVA10986 - Sending email(Dijkstra) 題目鏈接 題目大意:給n個點,m條邊,還有起點和終點,問起點到終點的最短距離,不可達unreachable。 解題思路:最短路問題,dijkstra算法。 代碼:

原创 UVA10229Modular Fibonacci(矩陣快速冪)

UVA10229Modular Fibonacci(矩陣快速冪) 題目鏈接 題目大意:給你i和m,求Mi, Mi = (F(i - 1) + F(i - 2)) % 2^m; 解題思路:因爲Mi = (F(i - 1) % 2^m

原创 Masonry的實現原理

核心 是基於NSLayoutConstraint自動佈局來實現的 NSLayoutConstraint如何進行約束佈局? 1、要實現自動佈局,必須把該屬性設置爲NO view.translatesAutoresizingMaskIntoC

原创 消息轉發 _objc_msgForward

過程 1、調用resolveInstanceMethod:方法(或resolveClassMethod:)允許用戶在此時爲該類動態添加實現。如果這個方法有實現,那麼重新開始objc_msgSend流程(這個方法中可以調用class_add

原创 protocol 和category如何使用property?

protocol 在protocol中使用property,只會生成setter和getter方法的聲明。 當使用的時候 使用systhsize name; 自動生成getter、setter 或者手動自己添加getter、setter和

原创 Copy相關

怎麼用copy關鍵字? 1、NSString、NSArray,NSDictionary等經常使用copy關鍵字,是因爲它們有可變類型 2、block也經常使用,因爲在MRC中,方法內部的block是在棧區的,使用copy可以把它放在堆區,

原创 運行時相關

1、objc中向一個nil對象發送消息會發生什麼? 不起作用,但不會奔潰 原因:objc是動態語言,每個方法在運行時會被動態轉爲消息發送,即objc_msgSend(receiver,selector)   objc_class的源碼定義

原创 iOS Runtime實現weak屬性

weak的特點: 同assign一樣,是一種非持有關係,不同在於當屬性所指對象被釋放後,屬性值也會自動清空。PS:assign 可以用非 OC 對象,而 weak 必須用於 OC 對象 如何實現? 當你初始化一個weak變量的時候,run

原创 @property相關知識點

@property有哪些屬性關鍵字?   readonly 只讀 assign 單純賦值(非對象類型使用) unsafe_unretained 同assign一樣 用於ARC retain 進行對象保持操作 strong 同retain

原创 HDUPhysical Examination(貪心)

HDUPhysical Examination(貪心) 題目鏈接 題目大意:給N個隊列,每個隊列在0時刻體檢的時候完成時間是ai,如果超過t(s),那麼就是ai + t∗bi.問怎樣組合才能用最短的時間完成體檢(每個隊列都要

原创 UVA10205 - Stack 'em Up(模擬)

UVA10205 - Stack 'em Up(模擬) 題目鏈接 題目大意:給你52張牌,這些牌一開始就有個順序。現在給你每次的洗牌動作,52個數Ai,表示第i個位置上的牌放到Ai位置。意思就是能夠通過這次洗牌,可以將i位置上的牌放

原创 UVA10397 - Connect the Campus(最小生成樹+並查集)

UVA10397 - Connect the Campus(最小生成樹) 題目鏈接 題目大意:給你n個點,然後再給你m個已經連接的邊,問如何使得所有的點都相連並且新建的邊長度之和最小。 解題思路:最小生成樹,但是有m條邊是已經建好的,就

原创 UVA10940 - Throwing cards away II(找規律)

UVA10940 - Throwing cards away II(找規律) 題目鏈接 題目大意:桌上有n張牌,按照1-n的順序從上到下,每次進行將第一張牌丟掉,然後把第二張放到這疊牌的最後。反覆進行這樣的操作,直到只剩下一張牌

原创 UVA11125 - Arrange Some Marbles(dp)

UVA11125 - Arrange Some Marbles(dp) 題目鏈接 題目大意:給你n種不同顏色的彈珠,然後給出每種顏色的彈珠的個數,現在要求你將這些彈珠排序,要求相同顏色的部分最多3個。然後相同顏色的彈珠稱爲一個組,那