- 博客(122)
- 资源 (26)
- 收藏
- 关注
原创 NSArray和NSString copy属性问题
什么时候加copy在定义属性的时候,如果属性的数据类型有对应的Mutable类型,那么该非Mutable类型属性要指定为为copy。比如:NSString/NSMutableString、NSArray/NSMutableArray、NSDictionary/NSMutableDictionary、NSSet/NSMutableSet。如下图:测试例子下面示例说
2017-05-22 17:31:08
923
原创 关于前后端接口的可扩展性思考
在写iOS和Android客户端程序,尤其是涉及到和后端对接口的时候,大家通常会针对下面三个问题引发一些争论:不能写死容错能力过度设计之所以会争论,是因为这三点很多时候是对的,但是如果不分情况和场合的应用就会出现一些扩展性的问题。不能写死不能写死,比如这个边框颜色写死到客户端还是后台下发。下面这张图红框标注的叫外置筛选项。在7.6版本的时候这个框和文
2017-05-22 17:21:59
2584
原创 常见的全局变量定义
常见的全局变量定义作用域在文件内全局常量// Test.mstatic NSString *const kTestKey = @"test_key"; // 只作用于当前Test.m文件作用域在工程的全局常量// Test.hextern NSString *const kTestKey;// Test.mNSString *const kTestK
2016-08-10 17:59:20
1755
原创 正确使用NS_DESIGNATED_INITIALIZER
为什么会提到NS_DESIGNATED_INITIALIZER最近在清理项目警告,遇到了“Method override for the designated initializer”的警告,全称为:Method override for the designated initializer of the superclass '-init' not found 或者Method
2016-06-13 14:24:30
15588
原创 树的最小支配集
/** 最小支配集,就是图中用最少的点覆盖其它所有点 如果用选A点覆盖,则与A点相连的点都被覆盖,大致 就是这样 百度里面搜到一道题 有一个图G,现在希望在一些点建立控制站,每个控制站能控制与它相临的点(直接相连), 现在希望有选择的在一些点建立控制站,使得以最小得控制站数,控制所有的点 图的最小支配集是NP 问题,我只会树
2016-05-13 15:29:51
919
原创 ReactiveCocoa学习
ReactiveCocoa - iOS开发的新框架RAC具有函数式编程和响应式编程的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现。ReactiveCocoa试图解决什么问题传统iOS开发过程中,状态以及状态之间依赖过多的问题在开发iOS应用时,一个界面元素的状态很可能受多个其它界面元素或后台状态的影响。RAC通过引入信号(Sign
2016-03-04 13:19:41
1665
原创 Xcode自动格式化代码
安装Clang Format通过Alcatraz安装配置Edit |Clang Format 菜单中提供了几种预定义的格式化选项,其中 WebKit 是最接近官方Objective-C代码风格,不同的是函数名后的花括号会换行,*靠近类型名,例如:UIButton* signInButton;File 选项为自定义格式化,如果想和官方代码风格一致,首先创建文件名为
2016-01-20 10:33:53
11636
原创 iOS编程读书笔记
11,22,23,24,25,28暂时不需要看1 第一个简单的iOS应用单击按钮可以改变文字。1.1 创建Xcode项目创建项目的时候Xcode会提供一些包含通用代码的模版,可以根据需要选择模版。创建项目是需要填写Organization Name和Company Identifier,也可以填入自己的公司名称和公司的反向域名。Class Prefix在
2016-01-15 10:25:43
2349
原创 CocoaPods初学
什么是CocoaPods每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以
2016-01-15 10:22:57
1044
原创 解决jenkins输出log中文乱码问题
描述:jenkins之前log中文是可以正常显示的,但是将git的log改为utf-8修复好后,jenkins输出的log中文就变成乱码了,虽然使用chcp 65001 可以解决系统输出中文正常,但是nsis打包程序输出的信息依然是乱码。git的log中文乱码问题:http://blog.youkuaiyun.com/zcube/article/details/50012107解决思路:写
2015-11-27 17:02:13
13317
原创 解决win10系统alt+tab切换程序不显示程序缩略图问题
描述:win10系统alt+tab切换时候变成了以前小图标模式,本来应该是显示程序缩略图的。解决:1、打开注册表,定位到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer2、找到 AltTabSettings 修改键值为 0,如果没有则创建一个DWORD键值,重启电脑即可。参考链接:
2015-11-27 16:16:22
24732
4
原创 Jenkins中Git及log中文乱码问题
解决方案:1、在.jenkins/jenkins.xml中新增-Dfile.encoding=utf-8,可解决jenkins信息乱码问题,如下:-Xrs -Xmx256m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" -
2015-11-24 14:14:57
5540
原创 devenv.exe 中的 0x756c3e28 处有未经处理的异常
在使用alt+G 和 alt+O跳转时候出现VS2010卡死,调试的话有 devenv.exe 中的 0x756c3e28 处有未经处理的异常1、管理员启动cmd,cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE2、输入 Devenv.exe /ResetSettings恢复设置,暂时解决了
2015-11-19 18:18:19
4520
1
原创 devenv.exe 中的 处有未经处理的异常
在使用alt+G 和 alt+O跳转时候出现VS2010卡死,调试的话有 devenv.exe 中的 0x756c3e28 处有未经处理的异常1、管理员启动cmd,cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE2、输入 Devenv.exe /ResetSettings恢复设置,暂时解决了
2015-11-19 18:16:08
7700
原创 在启动前隐藏一个MFC DoModal对话框
实现在启动对话框前将DoModal对话框隐藏掉1、在对话框中添加WM_WINDOWPOSCHANGING消息处理BEGIN_MESSAGE_MAP(CMyDialog, CDialog) ON_WM_WINDOWPOSCHANGING()END_MESSAGE_MAP()BOOL CHiddenDialog::OnInitDialog(){ CDialog::O
2015-11-03 20:19:45
3341
原创 解决warning MSB8012:问题
假设 属性页-》配置属性-》链接器-》常规-》输出文件 值为:..\Bin\$(TargetName)$(TargetExt) 或者 ..\Bin\Foo.dll则 属性页-》配置属性-》常规-》输出目录: ..\Bin\目标文件名:$(TargetName) 或者 Foo
2015-10-12 17:23:00
14763
1
原创 mac苹果灯亮出风口烫开不了机解决办法
早上打开mac屏幕一片黑,但是苹果灯亮,出风口烫开不了机,后来很简单的解决了。之前同事也出现这个问题,被送到维修部一个星期才修好。解决办法:1、按住power键一会直到完全关机。2、按一下power键开机,这时候同时按住option+command+p+r,直到duang、duang屏幕亮。参考链接:http://www.zhihu.com/question
2015-09-19 14:18:37
5157
原创 vs中能编译通过,但是会有红色下划线提示未定义标示符问题
项目能编译通过,但是代码中会有红色下划线提示未定义标示符。就连BOOL TRUE FALSE等都会有下划线。这通常是该代码文件包含在项目文件夹的子文件夹中。解决办法是配置包含项目目录即可:打开项目属性-》配置属性-》C/C++常规-》附加包含目录-》填入:$(ProjectDir)
2015-09-11 11:28:01
15642
4
原创 树的最小支配集
/** 最小支配集,就是图中用最少的点覆盖其它所有点 如果用选A点覆盖,则与A点相连的点都被覆盖,大致 就是这样 百度里面搜到一道题 有一个图G,现在希望在一些点建立控制站,每个控制站能控制与它相临的点(直接相连), 现在希望有选择的在一些点建立控制站,使得以最小得控制站数,控制所有的点 图的最小支配集是NP 问题,我只会树的最小支配集模板
2015-09-07 19:53:52
1912
原创 欧拉路 / 回路 / 有向/ 无向 / 字典顺序
/** 欧拉路就是一笔画问题,同时会衍生出好多问题 比如:单词接龙,就是给一堆英文单词,问是否能让其首尾相接 排成一列 这样可将每个单词看成一条边,首尾字母看成点,求是否存在一 条欧拉路 一、无向图 欧拉回路:每个顶点入度都是偶数 欧拉路:所有点度数为偶数或者只有两个点度数为奇数 二、有向图 欧拉回路:每个点入度等于
2015-09-07 19:53:39
837
原创 DP 最长公共子序列并标记输出
/** 动规是必考题目,有时甚至考好几道,非常灵活,非常巧妙 最长公共子序列是动规的经典题目,也被用于好多教材的例子 谈到动态规划,我对其也是最肤浅的认识,感觉和记忆化搜索 是不分家的,我一般都是先把整个问题局部化,然后分析局部 大致写个 转移方程 再验证是否正确并考虑特殊情况,不管怎 么样,只要经过大量重复练习,神马都是浮云 求其最长的
2015-09-07 19:53:16
631
原创 多重背包问题的二进制分解思想
/** 在这之前,我空间好像转过一个背包九讲,现在我就只对 01背包和多重背包有点印象了 先说下 01 背包,有n 种不同的物品,每个物品有两个属性 size 体积,value 价值,现在给一个容量为 w 的背包,问 最多可带走多少价值的物品。 int f[w+1]; //f[x] 表示背包容量为x 时的最大价值 for (int i
2015-09-07 19:53:13
5378
1
原创 浮点公约数
/** 这个,和那个没啥区别对吧,就是用了个math.h 里面的fmod() POJ 2335*/#include double fgcd(double a, double b) { if (a < 1e-4) //根据精度决定 return b; return fgcd(fmod(b, a), a);}
2015-09-07 19:52:36
555
原创 模拟退火算法解决最近最远问题
/** 模拟退火算法真的很巧妙,而且很多问题也能转换成这个算法 这个算法最大的妙处,就是它会无序的向着你所要求的答案去 寻找,直到找到符合你的精度,概率很高 如:在一个1024*768的平面上有N 个点,现在要你在这个面上找个 点到这N个点的距离和最小,精度保留 5 位小数,有个很简单的办法 就是枚举,当然不能这么干,而模拟退火算法是处理这类问题的
2015-09-05 10:24:21
2733
原创 最小费spfa()+ek() 邻接表
/** 贴下最小费的邻接表模板 图算法中邻接表应用极其广泛,在速度和边处理方面都要比矩阵好很多 最小费邻接矩阵模板前面提到了 就不多说了 包括添边等常用的技巧前面也都提到了 就是求网络流是会用到逆流边 用邻接表添边,逆流边也相当经典,这个技巧刚开始并不好理解 比如:设edge[p] = ab; 则逆流边为 edge[p^1] = ba
2015-09-05 10:18:32
647
原创 拓扑排序 topsort()
/** 不知道topsort 排序有没有专门的算法,不过今天贴这个挺简单的,也好理解 拓扑排序就是,给出一系列的需求关系,求一个序列,这个序列完全满足这里面 的全部需求,直到结束 如:你想要认识 奥巴马 必须要认识 F 和 D, 你要认识 D 必须认识 B, 可是你要认识B 又得靠 A 和 C,当然认识 F 也得通过C 当然这些关系就是
2015-09-05 10:15:04
1222
原创 小知识+碎东西
/** 今晚还是写点常用或不常用的小知识点吧,一看到算法两个字就头疼 1、 给出两直角边a, b hypot(a, b); //返回斜边长度 2、 scanf("%*d%*d"); //接收两个无用数字 3、 经纬度处理 设地球上某点经度为 l,纬度为 p 则这点
2015-09-05 10:13:41
605
原创 用Tarjan算法求无向连通图割点&&割边
/** 割点割边挺好理解的,割点就是一个无向连通图,把其中一个点 挖掉剩下的图不连通,割边就是把一条边砍掉不连通 比如:有一个通信网络,要求一颗炸弹,把这个通信网络搞得不连通,问 炸哪个点或哪条边。 Tarjan 算法实现求割边和割点很类似,不过还是有点不同,复杂度为O(N+M) 下面用 存边写下*///求割点#include b
2015-09-05 10:11:42
3393
原创 单源最短路 dijkstra + heap 实现
/** 再写一篇睡觉,正好把刚刚的优先队列用下。。 前面再说单源最短路径的时候用到dijkstra 算法,现在介绍下 它的优化版,传说中的 O(N*log(E)) 废话不多说,还是那句话:模板都会用,关键在转换*/struct { int v, w, next;}edge[2*eMax]; // 无向边int edgeHead[nMax],
2015-09-05 10:10:15
2517
原创 stack && queue && priority_queue 使用方法 (栈, 队列, 优先队列)
/** 贴下堆栈,优先队列的使用,竞赛中优先队列常会用到,前面两个 也经常用,但效率低,一般自己用数组写*/#include #include using namespace std;int main() { //stack stack s1; //定义一个int 型栈s1 s1.push(x); //x入栈 s1.pop(
2015-09-05 10:08:33
954
原创 最小生成树 kruskal()
/** kruskal 算法和prim 功能一样,在点多边少的情况下更有优势 用专业的口吻说就是,kruskal 适用于疏密图,prim 适用于稠密图 还是那句话,模板都会用,关键在转换 高中就那点知识,可是得做好多题才能应付高考,知识点都会,关键在 理解题目并转换为学的知识点*/#include using namespace std;i
2015-09-05 10:07:02
525
原创 最小生成树 prim()
/** prim算法应该是我学会的第一个图算法 最小生成树,一个无向图使每两个点都连通的最小花费,每条边都会有 边权,这个算法在点少边多的情况下要比kruskal 更有优势,一般都不多于 1000个点。 比如:几个村庄铺设电话线,给出了一个图,图上描述了每两个村庄进行连接的花费, 现在求一种最小花费使每两个村庄有且仅有一条路径相连。 还
2015-09-05 10:05:07
652
原创 最小费用最大流 spfa() + ek()
/** 一个多月没碰,感觉忘完了…… 最小费就是有多条路可以满足最大流量的情况下所需要的最小费用 把费用改成相反数或改下spfa()的松弛就可最大费了 比如:从北京到上海运送一批货物,给出中间经过每条路线上对每辆车的收费,以及 每条路一次允许经过的车的数量,求一次性从北京到上海送尽可能多的货物情况下的最 小费用,当然中间经过的路线用二维数组即可表
2015-09-05 10:00:10
3347
原创 SPFA 算法
/** SPFA: Shortest Path Faster Algorithm 看到名字不禁为之一颤,SPFA算法是西南交通大学段凡丁于1994年发表的。 SPFA 也是竞赛中最常见的算法之一,不仅仅用来解决带负权的单源最短路 而且是求解差分约束问题的专用算法,也常用它和最大流合作解决最小费问题 可以说SPFA 是 dijkstra 和 bellman 的
2015-09-05 09:58:29
1482
原创 二分图匹配的扩展问题
/** 前面提到了匈牙利算法解决二分图匹配问题,但是基于二分图还有几个经常 见的扩展问题如下: 1、最大独立集点数 2、最小顶点覆盖数 3、最小路径覆盖数 ********************************************************************** 最大独立集点数:
2015-09-05 09:54:30
662
原创 匈牙利算法 && EK(邻接表)
/** 用邻接表添边是图论中基础中的基础,实用价值十分可观 添边为固定格式,理解的最好办法是画几个点,自己用手 模拟一下添边的过程,你会感慨万千,成就感不言而喻。。 链接表 3剑客为:edge[], edgeHead[], ne; edge[] 为每条边得结构体,你可以在里面放任何附加东西 如:边权w, 流量c, 费用cost。 但v, next
2015-09-05 09:53:26
1012
原创 匈牙利算法(二分图匹配)
/** 匈牙利算法是解决二分图匹配问题的凶器,二分图匹配问题在实际应用中也很 广泛,诸如婚恋、交朋友这些网站,会很快介绍给你最合适的对象,这都离不开 匹配算法的支撑。 在刚接触这些算法前往往会有一种莫名的恐惧,其实任何问题的本质都是很简单的 别被这些名词吓着了,仅仅是个名词而已,当你真正接触她的时候,其实也没你想 像的那么恐惧。。 匈牙利
2015-09-05 09:50:35
829
原创 EK算法(连接矩阵)
/** Edmonds-Karp算法是最简单的网络流算法,当然也比较慢复杂度为O(V*E^2) 编写简单而且很好理解。。后面还会贴最快的dinic 算法 复杂度为O(E*V^2) ( E为边数,V为点数) 网络流是个大学科,实在变化莫测,各种建图技巧,可以说竞赛考网络流 90%考建图,图建好了,直接套模板即可 这里只是简单的网络流模板而已
2015-09-05 09:48:30
1029
原创 floyed 算法
/** floyed 是用动态规划解决完全最短路的算法,一次调用即可得到任意两个点间的最短路径 复杂度为O(n^3),适用于稠密图,顶点数一般在100 以内适用 结构简单,易于编写 floyed算法还可解决传递闭包,判断图是否为连通图 在解题时候一般不会只考 floyed 而是利用floyed 得到的结果,进行下一步解题 就像二分算法一样,提一
2015-09-05 09:47:10
3373
原创 dijkstra 算法
/** dijkstra 是很经典的单源最短路算法,当年 迪杰斯特拉 就是靠这个算法拿了 图灵奖,此算法应用非常广泛,尤其在网络路由中。。 这里先介绍 dijkstra 的基本连接矩阵算法,在竞赛图算法中经常用到,复杂度为 O(N^2),后面再贴用优先队列优化的 O(N*logE) 算法 dijkstra 算法不仅仅用于求最短路,利用本身的算法结构和精妙
2015-09-05 09:45:38
865
廖雪峰 Git教程 PDF版(专业排版)
2015-04-26
adobe-flashplugin_11.2.202.438
2015-01-30
Win32串口通信-Serial Communications In Win32(修订版)
2013-02-22
Win32串行通信中文版(Serial Communications In Win32)
2013-02-19
单片机实现多功能电子表
2013-01-20
教室信息管理系统 第2版
2013-01-08
21天学通Windows95编程
2013-01-08
患者信息管理系统
2013-01-02
算法课程设计 3*3棋盘问题
2012-12-31
数据结构课程设计 宿舍管理系统
2012-06-11
2003年ACM-ICPC南太平洋赛区试题解析-1
2010-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人