- 博客(15)
- 收藏
- 关注
原创 字符串
1、给定一个字符串,求出其最长的重复子串。 string longestRepeatSubString(string s) { int n = s.size(); if(n<=1) return s; int maxLen = 0; string maxString = ""; for(int i=0;i<n;i++)
2016-09-08 18:03:12
225
原创 数组
1、有n个数,两两组成二元组,差最小的有多少对呢?差最大呢? 解析:先排序,差最大的对数为最小数字的个数*最大数字的个数 差最小为分两种情况:1)差最小为0:统计相同数字的对数 2)差最小不为0:统计相邻数字的差为最小的对数 #include #include #in
2016-09-08 15:48:04
209
原创 动态规划
1.给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。 解析:将字符串s逆置得到字符串t,根据回文串的特点,s和t的最长公共子序列就是最长回文串。 #include #include #include #include #include using namespace std; int longestCo
2016-09-08 14:49:53
247
转载 iOS拨打电话的2种方式
方式一:直接拨打,不提示 NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"13800138000"]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 方式二:先提示
2016-08-24 21:54:16
440
原创 去掉UIButton状态改变时的动画
UIButton的两种状态:普通和选中状态 [button setTitle:@"修改" forState:UIControlStateNormal]; [button setTitle:@"保存" forState:UIControlStateSelected]; 若UIButton为UIButtonTypeSystem类型,当这两种状态切换时会有默认的动画。如果不想要动画
2016-08-24 20:56:29
1097
原创 iOS第一次加载键盘速度慢
iPhone开机后第一次弹出键盘会很慢,因为要加载键盘。 解决方法: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Preloads keyboard so there's no lag on initia
2016-08-24 20:04:37
1757
原创 NSTimer理解
1.为什么NSTimer会有内存泄漏问题? 答:因为NSTimer被runloop强引用,所以NSTimer也强引用了target(保证timer停止前target不被释放),同时target也引用了timer。 2.怎么解决NSTimer内存泄漏问题? 1)使用NSProxy 2)让timer停止后,再释放target 3)target使用__week仍会内存泄漏 3.
2016-08-24 10:25:23
431
原创 Objective-C之Category
Category的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。在 Objective-C 中的具体体现为:实例(类)方法、属性和协议。 使用场景 给现有的类添加方法;将一个类的实现拆分成多个独立的源文件;声明私有的方法。 注意事项: 1.不能覆写原有类的方法 原因:将分类方法加入类中是在运行期系统加载分类时完成的。运行期系统把分类中所
2016-03-11 09:55:04
393
原创 GCD使用技巧
1.多用派发队列,少用同步块 1.1 编写atomic属性的访问方法 (1)使用同步块 - (NSString*)someString { @synchronized(self) { return _someString; } } - (void)setSomeString:(NSString*)someString {
2016-03-10 15:25:37
353
原创 GCD详细介绍
GCD GCD是异步执行任务的技术。只需将想执行的任务追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。 1 Dispatch Queue:执行处理的等待队列 Disptatch Queue按照追加顺序执行处理任务,但在执行处理又分为:Serial Dispatch Queue和Concurrent Dispatch Queue。 Serial
2016-03-10 15:23:06
240
原创 Objective-C运行时
1.Objective-C对象 描述Objective-C对象所使用的数据结构定义在运行期程序库的头文件里,id类型本身也定义在这里: typedef struct objc_object { Class isa; } *id; id是指向objc_object结构体的指针。每个对象结构体的首个成员是Class类的变量。该变量定义了对象所属的类,通常称为“isa”指针。
2016-03-10 15:15:59
278
原创 Objective-C内存管理注意事项
1.在delloc方法中只释放引用并解除监听 1.1在delloc方法中释放对象所拥有的引用并解除监听 (1)ARC会通过自动生成的.cxx_destruct方法在delloc中添加释放代码。对象所拥有的其他非Objective-C对象也要释放。比如CoreFoundation对象。 (2)在delloc要把原来配置过的观测行为都清理。如果用NSNotification给此对象订阅过某种通知
2016-03-09 17:17:16
350
原创 Objective-C内存管理
1.引用计数 Objective-C使用引用计数来管理内存,对象有个计数器,用以表示当前有多少个事物想令此对象继续存活下去。NSObject协议声明了下面三个方法用于操作计数器,以递增或递减其值: retain 递增保留计数 release 递减保留计数 autorelease 稍后清理“自动释放池”时,再递减保留计数。 对象创建出来之后,对象的保留计数至少为1。若想令某对象
2016-03-09 16:33:44
840
原创 block使用技巧
1.为常用的块类型创建typedef typedef return_type (^block_type) (parameters); block_type是块的类型名 typedef int(^ EOCCompletionHandler) (NSData *data, NSTimeInterval duration,NSError *error); //为块创建ty
2016-03-09 14:18:13
428
原创 Objective-C之block详细介绍
1.定义 闭包是一个允许访问自由变量(局部变量)的匿名函数。自由变量:跟block声明在同一个作用域内的局部变量。 2.语法结构 返回类型 (^块名称)(参数列表) int (^myblock)(int a, int b) ; //声明一个块类型和块名,myblock为块名,块类型为int (^)(int a, int b); myblock= ^(int
2016-03-09 14:06:21
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人