- 博客(186)
- 资源 (45)
- 收藏
- 关注
原创 博客搬家了,请大家继续关注~
我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=21lcucs4283oc
2018-05-17 19:42:16
661
1
原创 Android开发之声网即时通讯与讯飞语音识别相结合
声网是一家提供语音、视频即时通讯服务的公司,他的服务大多基于WebRTC开源项目并进行一些优化和修改。而讯飞语音识别应该不用多说了,老罗在发布会上介绍得已经够详细了。那么下面进入今天的主题,就是让声网和讯飞识别同时使用,之前可能有朋友没遇到过这样的需求,那先说一下让两者同时使用会出现啥问题,为什么要做修改呢?其实原因很简单,即时通讯过程中毫无疑问肯定会用到麦克风和扬声器的,而语音识别呢,麦克风
2017-05-22 22:07:33
2291
原创 Android开发之逐帧动画优化
Android上如果使用逐帧动画的话,可以很方便地使用AnimationDrawable,无论是先声明xml还是直接代码里设置,都是几分钟的事,但使用AnimationDrawable有一个致命的弱点,那就是需要一次性加载所有图片到内存,万一帧数多了或者每张图片都比较大,很容易就报out of memory的异常了,所以有必要进行优化。这里我们利用View.postDelayed方法延时替换图
2017-04-04 19:46:57
3620
2
原创 WebP图片制作GUI工具
WebP是Google近几年推出的新型网络图片格式,有静态和动态两种类型,其中静态webp比jpg和png的压缩率都要大,而且失真率接近于png,远胜于jpg,因为他支持8位的透明通道。而动态webp比gif好了不止一两点,gif只支持2位的透明通道,而且图片锯齿严重。OK,既然有这么牛逼的图片格式,我们当然要好好使用了,而且现在Android端有Facebook推出的Fresco框架完美支持,不
2017-03-27 11:37:56
4506
原创 Android之本地文件夹实时检测与上传服务实现
好久都没有更新博客了,这期的功能是实现本地文件夹的监测和上传文件到阿里的OSS服务器上,由于这个功能不需要界面而且需要程序退到后台时依然监测,所以初步定为用服务实现。首先,第一个需要确定能否用IntentService实现呢,因为IntentService会自动创建新的线程,只允许startService启动,而且消息队列也帮我们管理了,省了很多功夫,但是IntentService会自动停止服
2017-03-24 19:32:16
3539
3
转载 启动hadoop 2.6遇到的datanode启动不了
转自:http://blog.csdn.net/zhangt85/article/details/42078347查看日志如下:2014-12-22 12:08:27,264 INFO org.mortbay.log: Started HttpServer2$SelectChannelConnectorWithSafeStartup@0.0.0.0:500752014-12-22
2016-12-26 15:59:43
700
原创 Android Studio2.2下NDK开发初试
很久没更博了,这次来记录一下如何在Android Studio2.2中进行NDK开发吧,NDK开发嘛,就是将C/C++的代码编译成so类库,供java调用(当然c调用java也是可以的),还记得以前没有IDE的时候,需要在linux环境编译,非常麻烦,光是看完教程就不想弄了,但不得不说Android Studio是Android开发的神器,它将一切都弄的如此简单。废话不多说,马上进入主题吧。开
2016-12-17 11:04:50
607
原创 iOS开发之UIView与CALayer的异同
看了iOS6编程实践第9章后,总结一下UIView和CALayer的异同点:UIView 负责绘制与事件处理,而CALayer只负责绘制。UIView的绘制也是交给CALayer的。UIView和CALayer都可以有下一层,都是树状结构。自定义的UIView重写drawRect,自定义的CALayer重写drawInContext或重写委托者的drawLayer方法。drawRect方法
2016-10-15 11:25:39
495
原创 Leetcode之Longest Valid Parentheses
好久没来更新Leetcode题目了,因为之前都去刷lintcode了,结果发现还是leetcode是我的本命啊~~第二次刷leetcode,感触良多,有些题目以前不会现在会了,但是有些以前明明会的,现在反而想很久,还有可能需要看提示,而且复杂度还比以前的高了,感觉人变笨了,肯定因为很久没来更新博客的原因。嗯,所以今天就讲一讲Longest Valid Parentheses这道题吧。今天重
2016-09-27 16:25:48
549
原创 iOS开发之CFHttpMessageRef的那些坑
在上一篇文章iOS开发之NSURLProtocol的那些坑中,介绍了一些NSURLProtocol使用过程中可能遇到的问题,今天我们就接着说CFHttpMessageRef。或许你还没用过CFHttpMessageRef,应该说还没遇到需要使用这个的场景,当然,老司机就另当别论了。这是个iOS系统中非常底层的网络通讯接口,已经接近于UNIX系统的socket通信了,使用CFHttpMessag
2016-07-29 16:17:53
3448
6
原创 iOS开发之NSURLProtocol的那些坑
接触过iOS系统中URL Loading System都知道,NSURLProtocol是如此地强大,可以拦截应用内几乎所有的网络请求(除了WKWebView),并可以修改请求头,返回client任意自定义的数据等等,据说很多做网络缓存都是利用这个类的。那么,首先讲解一下NSURLProtocol怎么使用吧。1. 定义一个NSURLProtocol的子类在继承NSURLProtocol
2016-07-18 23:32:33
12072
1
原创 ARC无效时block的赋值
总所周知,当ARC无效时,block默认是在栈区或全局数据区,要想复制到堆区,需要一些特殊手段,这些手段在《Objective-C高级编程》都有介绍,例如将block声明为类的属性,block调用copy方法,作为函数返回值等等。但是《高级编程》里有个地方写错了,不过也有可能书上没写清楚是否开启ARC,不过通过我的实验验证,当ARC关闭时,在类方法中给block属性赋值,如果不加上copy,还
2016-04-15 21:17:07
1067
原创 LeetCode之Intersection of two linked list不同方法
AC完看答案发现答案超简单,而自己的方法有点过于复杂了,题目原意是找出两个链表第一个公共节点,如果没有则返回NULL。看到题目后,我竟然想到可能存在交叉结构,结果通过反转一个链表来求出是否存在公共节点,但是却没法求出第一个公共节点,因此重新看回题目,发现根本不可能有交叉结构嘛,这是链表啊,一个节点怎么可能有多个next节点呢,两个链表如果有公共节点,其尾节点必然相同。不过,既然已经写了那么多了
2016-02-22 16:14:27
689
原创 LeetCode之Binary Tree Maximum Path Sum
题目:Given a binary tree, find the maximum path sum.For this problem, a path is defined as any sequence of nodes from some starting node to any node in the tree along the parent-child connection
2016-01-27 09:28:37
644
原创 LeetCode之Climbing Stairs与斐波那契数列的联想
题目:You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?看到题目之后,毫不犹豫想出公式:f(n)=
2016-01-03 21:56:35
1064
原创 Next Permutation之字典序法
字典序法是求出当前数组在字典序下的下一个数组,也就是正好比当前数组稍大的下一数组。笔者是从《组合数学》中看到的算法,但当时并没有深入思考,而当在leetcode上看到了next permutation才知道该算法的经典。算法的思路如下:(1)求满足下列不等式的最大的j,记为i, 即i=max{j | nj-1(2)求满足下列不等式的最大的k,记为h,即h=max{k | ni-
2015-11-29 12:24:08
716
原创 Leetcode之Trapping Rain Water
题目原意:给定一个整数数组,每个数代表一个柱子的高度,然后求下雨后这些柱子能储多少水,例如数组[0,1,0,2,1,0,1,3,2,1,2,1]对应的示意图如下:解题思路:四次遍历,第一次遍历获取height最大值top,然后构造一个数组incre_height,长度和height一样,除了第一个和最后一个数和height一样,其他均是top,第二次遍历incre_height,判断当
2015-11-23 16:09:48
602
原创 dancing links解决X问题的C++实现
X问题,也称精确覆盖问题,就是给定一个01矩阵,需要从中选取一些行组成一个子矩阵,这个子矩阵的每一列有且仅有一个1。这个问题听起来就知道很难,必须使用回溯算法来解决,但是我们知道回溯算法要提高效率,就必须做好剪枝和回溯恢复的工作。这时算法大师Donald E.Knoth给出了一个巧妙的数据结构,十字链表,每个节点都有上下左右的指针。其实这个结构参考的是双链表删除和恢复的便利性,思考一下,在双链表中
2015-11-13 22:18:06
1671
原创 LeetCode之Generate Parentheses(C++)
题目:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())", "(())()", "()(())", "(
2015-10-27 18:07:07
852
原创 Xtrafinder0.25.5在OS X10.11上的运行配置
相信大家都会很懊恼,明明作者在更新播客上说明目前最新版本的Xtrafinder 0.25.5可以在EI Captain上运行,但是无论是开机自动启动还是进launcher启动,他就是死活启动不起来,最终,参照国外友人的博客https://www.igorkromin.net/index.php/2015/10/06/xtrafinder-not-working-on-osx-1011-el-cap
2015-10-10 10:38:26
2423
1
原创 LeetCode之Longest Substring Without Repeating Characters
这次的题目是找出字符串中最长不重复子串,一开始还以为跟最长匹配子串类似,需要用到动态规划呢,结果还是自己想太多了,偷看了一眼Tag,才发现只需要用hashmap和两个指针就能搞定。算法的主要思想是:初始化两个指针head和tail,分别指向字符串初始位置0,并初始化一个hashmap,key为考察中的字符,value为对应字符所在位置。然后一个while循环,直至tail到达字符串尾部,在循环
2015-08-30 15:42:18
591
原创 LeetCode之Jump Game II
在LeetCode上刷的第三题,尝试了几种方法,最后还是选择贪心,复杂度为O(n),个人感觉有不少的收获。该题的题目是这样的,给定一个非负整数数组,每个元素代表着在当前位置最大能跳多少步,而我们的目标是从第一个位置开始,通过最少的步数到达最后一个位置。例如,给定数组是 A = [2,3,1,1,4],则只需两步就能到达终点(第一个位置跳1步到达第二个位置,第二个位置上跳三步到达最后一个位置)。首
2015-08-27 11:17:24
623
原创 利用Hbase的coprocessor实现增量式Apriori算法
Apriori在数据挖掘中是经典的频繁项集挖掘算法,其主要思想就是如果某个项集不频繁,则任何包含此项集的项集一定不频繁。而今天要实现的增量式的Apriori算法,有点像分布式的Apriori,因为我们可以把已挖掘的事务集和新增的事务集看作两个互相独立的数据集,挖掘新增的事务集,获取所有新增频繁集,然后与已有的频繁集做并集,对于两边都同时频繁的项集肯定全局频繁,而只有一边频繁的项集则需要统计其在两边的
2015-06-13 11:05:49
1774
原创 关于iOS Tabbar的一些设置
其实iOS Tabbar的可定制性非常高,我们没有必要重复造轮子,下面是笔者收集的一些tabbar的常用设置,希望对大家有所帮助。设置tabbar选中颜色iOS7设置如下:[self.tabBarController.tabBarsetSelectedImageTintColor:[UIColor greenColor]];ios8中如下设置:self.ta
2015-06-11 16:27:25
26628
1
转载 xcode集成git
转自:http://my.oschina.net/zxs/blog/142544 Xcode 已经集成了git,建立新项目时钩选使用git,然后按照下面步骤让Xcode和git@osc 建立连接。第一步:成生SSH密钥打开终端命令工具,输入命令:ssh-keygen -t rsa -C “diaosi@gmail.com”注意ssh-keygen没有空格。屏幕输出:Generating publi
2015-05-09 11:11:40
1188
转载 ios自适应布局
转自:http://www.cocoachina.com/ios/20141020/9978.htmlApple从iOS 6加入了Auto Layout后开始就比较委婉的开始鼓励、建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心底还坚守着固定布局的老传统思想。随着iPhone6、iPhone6 Plus的到来
2015-05-01 23:52:38
4375
原创 hadoop2.6和hbase1.0单机版安装配置
环境系统:Ubuntu 14.04 hadoop版本:2.6.0 hbase版本:1.0 jdk版本:1.8 下载地址:Apache上慢慢找吧~~jdk的环境配置这里就不列出来了,首先讲一下hadoop配置吧。hadoop安装1.安装位置:/opt 2.创建hadoop用户组 sudo addgroup hadoop 3.创建hadoop用户 sudo addu
2015-04-19 23:26:11
13507
1
原创 Centos下安装python mysqldb
环境:centos6.6python版本:2.6mysql版本:5.1.73需要安装的mysqldb版本:1.2.5下载完mysqldb后,进入其目录,运行python setup.py install会报出一大堆错,原因是很多依赖库都没有安装,我们需要在这之前运行:yum install gcc python-devel mysql-devel -y 然后再运行setup就没问题了。
2015-04-09 23:31:52
4126
原创 Python获取本机所有网卡ip,掩码和广播地址
搜了一天,竟然没找到一段合适的代码来获取机器中所有网卡的ip,掩码和广播地址,大部分都是用socket,但是socket通常返回的要不就是内网地址,要不就是公网地址,不能够找到所有地址,真的太忧桑了,决定自己通过ifconfig或ipconfig的返回信息,一步步地过滤了。这次的代码主要用到了正则表达式和subprocess模块,而且为了兼容所有平台(win,linux和mac),也用到了platf
2015-03-27 20:34:34
17221
转载 IOS7 隐藏状态栏 (电池栏)
//方法一(代码设置):现在ios7已经更改为透明,并且不占用屏幕高度。其中隐藏及显示的方法如下:在uiviewcontroller的子类下,调用: if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self p
2015-02-01 21:32:36
1308
原创 网络流算法Dinic的Python实现
在上一篇我们提到了网络流算法Push-relabel,那是90年代提出的算法,算是比较新的,而现在要说的Dinic算法则是由以色列人Dinitz在冷战时期,即60-70年代提出的算法变种而来的,其算法复杂度为O(mn^2)。Dinic算法主要思想也是基于FF算法的,改进的地方也是减少寻找增广路径的迭代次数。此处Dinitz大师引用了一个非常聪明的数据结构,Layer Network,分层网络,
2015-01-02 16:21:51
3480
原创 网络流算法Push-relabel的Python实现
网络流的背景我就不多说了,就是在一个有向图中找出最大的流量,有意思的是,该问题的对偶问题为最小割,找到一种切分,使得图的两边的流通量最小,而且通常对偶问题是原问题的一个下界,但最小割正好等于最大流,即切割的边就是最大流中各个path饱和边的一个组合。说得可能比较含糊,这里想要了解清楚还是查阅相关资料吧。最大流最原始最经典的解法就是FF算法,算法复杂度为O(mC),C为边的容量的总和,m为边数。
2015-01-02 15:44:44
4231
2
原创 Python递归求矩阵的行列式
为了感受Python的列表生成器的威力,写了个简单的程序——递归求矩阵的行列式,效率可能没numpy高,欢迎各位指正。def det(m): if len(m) <= 0: return None if len(m) == 1: return m[0][0] else: s = 0 for i in ran
2015-01-01 14:54:13
4997
原创 Simplex单纯性算法的Python实现
单纯性算法是解决线性规划的经典方法,上世纪50年代就提出了,其基本思想是在可行域内沿着边遍历所有的顶点,找出最优值,即为算法的最优值。算法的执行过程如下:求出初始基向量构建单纯性表格在所有非基向量对应的c中,找出一个最小的ci,若该ci大于0,则退出,输出obj,否则将ai入基利用基向量组线性表示ai,得到该线性表示的系数向量Λ对于Λ中所有大于0的分量,求出minmj=1bjΛj对
2014-12-19 22:28:16
5656
2
原创 关于Havel算法判断度数序列能否构成简单图的思考
问题描述:Given a list of n natural numbers d1, d2,...,dn, show how to decide in polynomial time whether there exists an undirected graph G = (V, E) whose node degrees are precisely the numbers d1,d2,·
2014-11-21 22:16:41
5727
原创 基于Huffman编码的压缩软件的Python实现
哈夫曼编码是利⽤用贪⼼心算法进⾏行⽂文本压缩的算法,其算法思想是⾸首先统计⽂文件中各字符出现的次数, 保存到数组中,然后将各字符按照次数升序排序,挑选次数最⼩小的两个元素进⾏行连结形成⼦子树,⼦子 树的次数等于两节点的次数之和,接着把两个元素从数组删除,将⼦子树放⼊入数组,重新排序,重复 以上步骤。为了解压,在压缩时⾸首先往⽂文件中填⼊入huffman编码的映射表的⻓长度,该表的序列化字符串,编码
2014-11-21 21:55:27
7023
原创 Yosemite上修复Matlab2014a crash 问题
苹果最新版本操作系统10.10貌似除了界面改动很大,内核也变动不少,很多软件都不兼容了,最常用的就是有道词典和matlab了,然而有道词典在第一时间发布更新版本,可谓是业界良心啊,而matlab好像只有2014b才正常,其他的需要改一下系统配置文件,对matlab这些第三方软件进行欺骗一下才行,具体步骤如下:(1)在finder菜单中选择前往文件夹,目录是/System/Library/Cor
2014-11-11 19:01:06
2761
原创 Apriori算法的Python实现
Apriori算法是数据挖掘中频发模式挖掘的鼻祖,从60年代就开始流行,其算法思想也十分简单朴素,首先挖掘出长度为1的频繁模式,然后k=2将这些频繁模式合并组成长度为k的频繁模式,算出它们的频繁次数,而且要保证其所有k-1长度的子集也是频繁的,值得注意的是,为了避免重复,合并的时候,只合并那些前k-2个字符都相同,而k-1的字符一边是少于另一边的。以下是算法的Python实现:__au
2014-11-08 14:00:26
4931
原创 android获取textview展开渲染后的高度
当你需要获取textview真正高度时,相信会有不少人会在onCreate函数中调用textview的getHeight()方法,简单粗暴,确实,这是个很方便的方法,但是不幸的是textview在onCreate中根本还没有展开,所以根本获取不到textview的真正高度,因此我们需要给textview绑定一个监听器,在渲染结束后调用,方法如下: ViewTreeObserver obser
2014-09-26 22:32:38
7570
转载 Ubuntu,mac查看端口命令
ubuntu查看端口#查看进程端口号及运行的程序sudo netstat -antup#PID为端口号远行进程的号sudo kill PID(进程码)# 查看所有打开的端口及服务名(注意这里显示的服务名只是标准端口对应的服务名,可能并不准确)nmap localhost # 查看哪些进程打开了指定端口port(对于守护进程必须以root用
2014-09-16 14:01:48
13481
背包九讲完整版
2016-10-20
利用Hbase的Coprocessor实现的增量式Apriori算法
2015-06-13
matlab2014b for mac os x破解工具
2014-12-20
Inpaint6.0 for mac含序列号
2014-08-20
Chrome插件之douban.fm歌词
2014-03-31
CMU算法求网络瓶颈链路
2014-03-22
Android之发送邮件客户端
2012-12-14
Android邮件发送客户端
2012-12-14
connectify3.2免费版
2012-12-01
手机控制电脑的android客户端
2012-12-01
ogre3d的vs2010插件
2012-10-23
算法考试的填数字问题
2012-09-26
自己封装的TabView
2012-09-21
sencha tocuh利用phonegap开发android的文件浏览器
2012-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人