- 博客(106)
- 资源 (8)
- 收藏
- 关注
原创 LintCode背包问题总结
背包是动态规划的一种题型,它的特点如下:特点: 1. 用值作为dp维度2. dp过程就是填写矩阵3. 可以用滚动数组进行优化有个背包问题九讲的链接推荐:背包问题九讲92. BackpackGiven n items with size Ai, an integer m denotes the size of a backpack. How full you can
2017-08-01 12:26:22
4147
原创 LintCode堆栈题总结
这篇是基于我之前的一篇文章的:LintCode数据结构题 那篇文章介绍了基本的堆栈实现以及一些基本的应用。现在来看一下更多的题目和应用来扩展一下对堆栈的实践。575. Expression Expand要求对表达式进行展开。比如 s = 3[2[ad]3[pf]]xyz, return adadpfpfpfadadpfpfpfadadpfpfpfxyz。这道题可以用一个栈Stack来解决。
2017-06-05 13:01:33
1357
原创 LintCode线段树/扫描线/查询题总结
线段树(Segment Tree)又叫区间树(Interval Tree),它实际上是一颗二叉树,北大的POJ上有关于这个高级数据结构的介绍:http://poj.org/summerschool/1_interval_tree.pdfLintCode上线段树专题下有这些题目:
2017-05-20 06:33:49
5112
原创 LintCode高级数据结构/Trie/并查集/搜索题总结
搜索也是很常考的题目,有些搜索要求一些高级的数据结构来加速搜索过程,比如Trie Tree,并查集Union Find等等。我们先来看看Trie Tree,Trie Tree其实就是一种树
2017-05-04 03:17:47
1539
原创 LintCode动态规划题总结
不知道什么是动态规划的,传送门在这儿:[干货]动态规划十问十答动态规划进阶:动态规划:从新手到专家相信看完上面两个链接的博客后,应该对于动态规划有一个新的认识和了解了。接下来就来看看LintCode上DP(下文我将以DP或者Dynamic Programming代替动态规划)的题目。
2016-08-13 23:45:39
4291
原创 LintCode排序题总结
排序作为CS的基本功,需要单独拿出来总结一下。这是一个直观地可以观看各种排序算法的可视化效果的网址(强烈推荐):http://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html184. Largest Number给定一个数组,要求对这些数字进行组合,使得组合成的整数最大。我们以输入两个数9, 97为例,将这两个数组
2016-08-12 17:34:16
1290
原创 LintCode双指针/滑动窗口/Two Sum类型题总结
双指针题算是数组类型题目的一个子模块了。373. Partition Array by Odd and Even把一个数组划分为奇数在前偶数在后的状态,要求in place。很简单,就用双指针法,让两个指针从两头往中间扫描,当左边是偶数右边是奇数时就交换,直到左右指针相遇为止。 public void partitionArray(int[] nums) { in
2016-08-10 19:33:41
6831
1
原创 LintCode贪心法题总结
贪心法的题目主要就考你会不会做,知道就知道,不知道那就很难知道。没啥套路,所以需要把这些题目过一遍。82. Single Number一个数组中,每个数字都出现了2次,只有一个数字出现了1次,要求找到那个数。可以用HashSet来记录,但是这样会消耗额外空间,以及HashSet的查找也额外花时间。可以利用异或操作^,a^a=0, a^0=a,根据交换律a^b=b^a,比如3^4^3=4,根
2016-08-10 13:49:04
1125
原创 LintCode数学题总结
LC上有一些标记为mathematics的题目,基本就是纯数学题或者数字题,也是需要掌握的。517. Ugly Number丑数,是一个正数,并且因子只包含2、3、5。此外,1也算丑数。0和负数都不算丑数。 public boolean isUgly(int num) { int[] check = {2, 3, 5}; if (num == 1)
2016-08-09 10:58:52
2200
原创 LintCode字符串题总结
LintCode上tag标记为String的题目大概有30多道题。408. Add Binary在我之前写的一篇LintCode位运算题总结的博文里有提到,此处便不再赘述。133. Longest Words给定一个string数组,要求找到这个数组里最长的单词是哪些。最简单的方法就是两趟遍历,第一趟统计最长的单词长度,第二趟统计有哪些单词满足这个长度,则取出来。
2016-08-05 12:00:31
2697
1
原创 LintCode二分查找题总结
LC上二分查找那一章有这么些题:二分查找的题经常用于考,因为它虽然看似简单,但其实要完全正确却不容易,很容易写出死循环的程序。一个二分查找的程序可以很容易判断出一个人功底扎不扎实。457. Classical Binary Search这是一道非常经典的二分查找题,给出一个有序数组以及一个目标值target,要求返回target在数组中的位置,若数组里不存在ta
2016-08-03 15:53:49
6089
原创 LintCode位运算题总结
LintCode上位运算&二进制的题目不多,加起来就10道题左右,把他们全部都AC一下,位运算这块就差不多了。面试的时候位运算也不是经常考察的点。因为这东西你知道就指导,不知道就不知道,没有啥深入探究讨论的余地。1. A + B Problem对两个32位的整数求和,这道题要是直接回答return A + B那就只能等着收拒信了。这道题考查的是会不会用位运算做加法,如果用位运算的话,运行时
2016-08-02 13:16:59
993
原创 LintCode图论&搜索题总结
LintCode上Graph & Search那一章有这些题目:137. Clone Graph给一个邻接表表示的图,返回一个它的深拷贝。这道题的关键在于用BFS首先克隆所有的点,然后再克隆所有的边。克隆点的时候需要用到HashSet来保存每一个节点。
2016-06-19 16:20:59
2474
原创 LintCode数据结构题总结
Lintcode数据结构有这么一些题目:495. Implement Stack用任意的数据结构实现一个栈,我是用List实现的,记得写的时候写成List array = new ArrayList(); 因为List只是Interface,而实现List接口的有多个类,其中一种就是ArrayList,然后记住List的三种操作是add/remove/get,Arr
2016-06-10 22:46:07
2930
原创 LintCode数组题总结
做算法题的时候,几乎不可避免要跟数组打交道。在LintCode上数组那一章有这么一些题目:1)547. Intersection of Two Arrays比较简单。要求找到2个数组的交集,简单点的方法就是用2个hashSet,第一个HashSet存第一个数组的元素。然后扫描第二个数组,如果第二个数组中的元素在第一个HashSet中出现了,那么就把它加到第二个Has
2016-06-02 23:16:57
3628
原创 LintCode链表题总结
由于链表本身结构的单一性,链表的题目很少会有很大的变种,基本都是围绕几个基本的考点出题目。所以链表的题目比较好掌握,但是链表的题目又不太容易一次就AC通过,由于边界情况未考虑、空指针(比如head.next不存在但是却给head.next赋值了,就会抛出nullpointer的错误)、越界等边界情况,我们需要在测试用例的时候多考虑边界条件。在模拟计算的时候一定要用纸和笔把中间的操作过程给画出来,这
2016-06-01 14:08:25
4585
原创 分享自己收藏的几个iOS博客
1)iOS block2)iOS扫一扫功能开发3)iOS开发调试技巧总结4)较全的iOS第三方库列表5)iOS开发必备的库总结6)iOS面试题集锦7)iOS开发从入门到进阶的一些列博客8)png图标网
2016-05-14 14:47:12
514
原创 浅谈几种iOS定时器
我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法。在这个时候,我们就需要用到定时器。在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资料,大概有三种方法:NSTimer、CADisplayLink、GCD。接下来我就一一介绍它们的用法。一、NSTimer1. 创建方法1NSTimer
2016-05-14 14:35:44
582
原创 浅谈UIAlertView与UIAlertController
苹果在iOS8.0后推出了UIAlertController以代替UIAlertView,导致的后果就是UIAlertView在iOS9.0之后被deprecated了,也就是iOS8.0之后只能用UIAlertController,iOS8.0之前只能用UIAlertView。所以如果想同时兼容iOS7和iOS8,就判断一下系统的版本,demo代码如下:if ([[[UIDevice cur
2016-04-28 17:35:57
5330
原创 iOS 正则表达式
iOS 中可以通过 NSPredicate 来处理正则表达式。相关资料如下:NSPredicate 苹果官方文档:http://developer.apple.com/documentation/Cocoa/Conceptual/Predicates/predicates.htmlPredicate format strings:http://developer.apple
2016-04-27 17:43:18
449
原创 iOS对图像进行尺寸压缩
iOS Objective-C对图像进行压缩,最简单的就是对图像进行等比例缩小。代码如下:- (UIImage*)scaleFromImage:(UIImage*)image scaledToSize:(CGSize)newSize{ CGSize imageSize = image.size; CGFloat width = imageSize.width; CGFloat heig
2016-04-22 11:52:57
1015
原创 iOS获取设备IP地址
项目用到要获取iOS设备的IP地址,有2种方法:1)第一种比较简单,但是只有当你的设备连接到WIFI时才能获取到IP地址,倘若你的设备用的是流量,那就不行。代码如下:#import #import // Get IP Address- (NSString *)getIPAddress { NSString *address = @"error"; str
2016-04-12 17:03:39
15239
原创 更改iOS状态栏颜色
状态栏分为两种颜色,默认的是黑色,这里想要改为白色:分为两步:第一步:在项目中找到plist文件,添加View controller-based status bar appearance,设置为NO,下图:第二步:在APPDelete里面的- (BOOL)application:(UIApplication *)application didFinis
2016-04-12 11:30:58
529
原创 解决CocoaPods pod install/pod update更新慢的问题
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡住了,就没反应了。原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下: pod install --verbose --no-repo-update pod update --verbose --
2016-04-11 09:42:56
1310
原创 iOS异步加载网络图片
在iOS中加载网络图片有多种方式:法1:在主线程中同步加载网络图片在主线程中加载图片,先将图片的URL存放进NSURL,然后再用这个NSURL初始化NSData,再把UIImage用NSData初始化,就行了。代码如下:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSInd
2016-04-01 16:54:25
5224
原创 解决g++报错Floating point exception: 8
用g++编译c++程序的时候,出现了报错Floating point exception: 8后来一经测试,发现rand() % 0搞的鬼,对0取模就会这样,所以用%前一定要判断下非0才行。
2016-03-12 15:26:32
12545
2
原创 解决iOS的工程开发遇到的问题
1)在同时用到navigation controller和tab bar controller的时候,最好用navigation嵌套tabbar2)用到pushviewcontroller的时候,动画过程中会出现很诡异的的现象,这时候我们需要把第二个viewcontroller的背景设置为白色3)iOS8.0及其以下版本的navigationbar默认设置translucent为true,
2016-03-11 20:22:56
412
原创 解决Xcode库lib在generic iOS devices平台上编译失败的问题
首先,通过这篇博客http://my.oschina.net/leejan97/blog/284193?fromerr=VIpoYQCF 看一下如何创建静态链接库。但是在创建好后会有个问题,那就是我们在特定平台编译生成的库就只能在特定平台上运行。比如我们编译库的时候选择模拟器,那么别人在用这个库的时候也就只能在模拟器上运行成功。这时候,通过如下命令可以查看库.a文件本身是在何种平台的l
2016-03-08 09:48:32
2642
原创 FTP库BlackRaccoon问题解决方案
BlackRaccoon是一个方便的FTP客户端,它封装了苹果底层的FTP读写操作。尝试写过iOS的FTP操作的人大概都知道这系列的操作是用C语言写的,官方文档对于FTP读写操作讲的太简略了,对于fresh graduate来说太过晦涩。在stackoverflow和google上搜了许久,发现github上有个开源的项目叫做BlackRaccoon。当我们在自己的项目上运用BlackRaccoo
2016-03-03 15:16:03
812
原创 解决Carthage 0.12版本之后copy-frameworks build失败
Build fails in the Run Script Phase /usr/local/bin/carthage copy-frameworks with Unrecognized arguments,解决方法请参考这个链接:https://github.com/Carthage/Carthage/issues/1079
2016-02-29 20:26:38
1542
原创 Leetcode解题思路总结(Medium)
136. Single Number思路:一个数组中,每个数字都出现了2次,只有一个数字出现了1次,要求找到那个数。我一开始想到的方法是用扫描数组添加到set中,如果出现了2次就从set中erase掉,扫面完后set中唯一一个元素就是我们需要的返回值,写完代码AC结果发现要84ms,超级慢。
2016-02-15 15:37:14
3415
原创 Xcode7 使用NSURLRequest进行HTTP请求出错解决方案
控制台会打印:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.解决办法:
2016-01-19 01:55:50
543
原创 Linux/Mac osx设置C/C++终端输出字体颜色
使用\033[01;04;32;41m之类的配色方案在需要输出显示的文本之前,可以改变应用程序输出文本的颜色或者背景颜色。color_hello.c#include int main(){ printf("\033[01;34m Hello World\033[0m\n"); return 0;}上面的01表示加粗,34表示是蓝色,后面\033[0m表示恢复
2015-12-27 14:45:46
6817
2
原创 一道面试智力题
今日同学参与面试回来,问了我一道题,如下:25匹马,5条跑道,每次只能跑5匹,求问最快多少次能确定前三?我沉思了几秒,在纸上比比划划遂想到了答案,我的求解方案如下:1)先分5组跑5次,这5组分别编号为ABCDE,跑完5次后就可以确定每组的前三名。2)然后把每组第一名拿出来跑第6次,这样5组的第一名可以得到它们的排序,把最差的两个第一名所在的组别淘汰。A1代表A组第一名,假如
2015-12-18 19:18:16
732
原创 Leetcode解题思路总结(Easy)
近来走上了Leetcode刷题之路,不过刷题背后更重要的是思路,掌握了方法,举一反三融会贯通。故在此我总结每道题的解题思路,按照题目从简单到难的顺序来列举。292 Nim Game,传说中的一行代码搞定。属于很简单的博弈推理。思路:假如只有1~3个石头,那我方肯定能赢,假若有4个石头,无论我取1~3个石头,对方总是能拿下最后一个石头,所以这时候我方必输。假若有5~7个石头,我能取对
2015-12-17 17:12:03
9853
1
原创 MAC安装MYSQL
先到官网下载MYSQL,我下载的是mysql-5.6.27-osx10.9-x86_64.dmg1. 启动终端Terminal2. 进入当前用户的home目录 输入cd ~3. 创建.bash_profile 输入touch .bash_profile4. 编辑.bash_profile文件 输入open -e
2015-10-14 21:27:02
585
原创 hexo ERROR Deployer not found: github
用hexo部署到github上出现了这个问题,因为使用的是hexo3.0版本,所以需要做如下三件事情:1) 安装 npm install hexo-deployer-git --save2) 将deploy 的 type由github改为git3) 将repository的https改为http
2015-08-28 19:14:14
2438
原创 设置UIButton的文字显示位置、字体的大小、字体的颜色
btn.frame = CGRectMake(x, y, width, height);[btn setTitle: @"search" forState: UIControlStateNormal];//设置按钮上的自体的大小//[btn setFont: [UIFont systemFontSize: 14.0]]; //这种可以用来设置字体的大小,但是可能会在将
2015-08-26 17:53:46
1476
iOS异步加载网络图片Demo代码
2016-04-05
iOS异步加载网络图片
2016-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人