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