- 博客(104)
- 资源 (3)
- 收藏
- 关注
原创 简单工厂,抽象工厂,工厂模式三者的对比
简单工厂,抽象工厂,工厂模式三者的对比 我想大家都熟悉工厂模式,但是要分清简单工厂,抽象工厂,工厂模式可能就没那么容易了。所以我查看了许多资料以及设计模式关于工厂模式的介绍,下面来总结一下。
2015-08-13 01:03:13
1265
原创 【iOS-Android开发对比】 之 APP入口
对比开发系列 ——Activity与UIViewController Android的Activity和Fragment是最基本的界面组成, 而IOS是UIViewController。 几乎所有的View和空间都会放在Activity和UIViewController中
2015-08-10 10:29:27
3665
1
原创 LeetCode-- Construct Binary Tree from Preorder and Inorder Traversal
这是一个二叉树 8 / \ 6 7 / / 4 5 \ / \ 1 2 3 Preorder : {8} 6 4 1 7 5 2 3 Inorder : 4 1 6 {8} 2 5 3 7
2015-08-02 17:50:35
800
原创 LeetCode-- Flatten Binary Tree to Linked List
Flatten Binary Tree to Linked List Given a binary tree, flatten it to a linked list in-place.For example, 1 / \ 2 5 / \ \ 3 4 6 这个道题方法有多种,虽然下面这个很简单,但我觉得还是蛮经典。
2015-07-29 16:51:16
643
原创 LeetCode-- Same Tree & Symmetric Tree
Same Tree & Symmetric TreeSame Tree Same Tree判断两个二叉树是否相等,包括结构相等和节点值相等。 Symmetric Tree 与 Same Tree类似,判断是否为对称二叉树, 左右节点交换对比。
2015-07-29 14:17:43
678
原创 LeetCode--Recover Binary Search Tree
Recover Binary Search Tree这道题要修正二叉查找树错误节点,不改变结构。 并且时间复杂度药O(n),空间复杂度药O(1).思路:Here’s an example: 1 / \ 2 3 / 4 \ 5 The above binary tree is serialized as “{1,2,3,#,#,4,#,#,5}”.
2015-07-29 11:50:22
709
原创 iOS Animation详解
本篇只要讲解iOS中动画的使用. Animtion主要分为两类:UIView动画和CoreAnimation动画。 UIView动画有UIView属性动画,UIViewBlock动画,UIViewTransition动画。 而CoreAnimation动画主要通过CAAnimation和CALayer,常用的有CABasicAnimation,CAKeyframeAnimation,...
2015-07-28 13:37:05
2264
原创 LeetCode--Binary Tree Level Order Traversal
Binary Tree Level Order Traversal 这几个题目类似,都是用相同的递归法,时间空间复杂度都为O(n).当然,还有迭代法,控件复杂度会降至 O(1),这个暂不讨论。
2015-07-24 14:44:36
719
原创 LeetCode—— Binary Tree Traversal
LeetCode上 二叉树遍历的3道题 #Binary Tree Preorder Traversal #Binary Tree Inorder Traversal #Binary Tree Postorder Traversal
2015-07-23 17:54:47
688
原创 LeetCode——4Sum & 总结
LeetCode——4Sum & 总结 有人对 Leetcode 上 2Sum,3Sum,4Sum,K Sum问题作了总结: http://blog.csdn.net/nanjunxiao/article/details/12524405 对于同类问题做了代码模型:int i = starting; //头指针 int j = num.size() - 1; //尾指针
2015-07-13 18:28:56
1061
原创 LeetCode——3Sum & 3Sum Closest
3Sum 先对数组进行非递减排序, 确定一个数i,在对其后面的序列使用 左右游标p,q夹逼(PS:这个词确实有点)。 对num[i],num[p],num[q]三者的和sum 进行判断。 如果 sum>target: q--; 去重; 如果 sum<target: p++; 去重; 如果 sum==target: 返回结果; 去重;
2015-07-13 16:02:08
797
原创 LeetCode——Longest Consecutive Sequence
Longest Consecutive Sequence 首先补充一些map的用法begin,end,rbegin,rend,empty,clear,size,max_size 八个常用的函数.map.begin(); 是map的起始位置map.end(); 是指map的尾部,没有实际元素.map.find(); 查找函数map.rebgin()和.rend()是反向遍历数据的起始位置和终止位置
2015-07-13 11:53:46
763
原创 LeetCode—Median of Two Sorted Arrays
Median of Two Sorted Arrays 这道题要找Median,中位数。这个是指,如果数组大小是偶数,返回中间两个数的平均值,如果是奇数个,就是中间的数。 算法时间效率要求是 O(log(m + n)),具体思路网上都一样。另外,现在leetCode的C++ 数组都换成vector了,所以只好整理一下vector的用法。
2015-07-08 18:22:43
925
原创 【iOS-Android开发对比】之 数据存储
Android与iOS开发对比系列】之 数据存储 相比Android和iOS,我觉得Android的数据存储更开放一些。Android天生就可以使用多Java I/O;并且天生开放的特性,开发者可以直接在SD卡中读写文件,自由度比较高。缺点吗,也是因为太开放,所以Android的相册和文件夹都惨不忍睹。Android本身自带Java的反射和注解,很早就有了ORM数据库。这里解释一下,ORM
2015-07-06 11:14:52
2662
原创 LeetCode--Search in Rotated Sorted Array II
Search in Rotated Sorted Array II 思路: 如同I一样,边界判断是非常重要的,注意<=``>=。 因为本题是可重复元素,所以 nums[left]<=nums[mid]无法判断为递增。 需要多一个条件判断,跳过重复的元素。
2015-07-04 13:20:06
838
原创 LeetCode--Search in Rotated Sorted Array
Search in Rotated Sorted Array 前言:这道题你在网上搜,大多数都是错的。 下面这样: 使用while(first!=last)这样循环, 最后返回-1. 这样做 first==last时,就会跳出循环,从而出错。 正确的做法应该是 do{}while(first!=last).思路:数组是这样的: 大——小—–中边界分为四种情况: left效率:时间复杂度 O
2015-07-04 12:04:16
754
原创 【Android与iOS开发对比系列】之 回调机制
回调机制对比 Android和iOS的回调的实现原理基本相同,只是具体命名不同而已。 本文将总结 iOS的Delegate和block, Android的interface和Handler.IOS 协议委托Delegate是协议的一种,通过@protocol声明。委托类的作用,一是传值,二是传事件。
2015-07-01 17:55:12
2237
原创 #面试系列 字符串处理算法
面试系列 字符串处理算法: 最大子序列和,最长递归子序列,最长公共子串,最长公共子序列,最长不重复子串,最长回文子串。
2015-06-29 17:05:19
1793
原创 LeetCode -- Longest Substring Without Repeating Characters
LeetCode -- Longest Substring Without Repeating Characters
2015-05-29 17:49:18
662
原创 Android原理——SavedState
View.BaseSavedState引言 还在用public static T 保存View状态? Android官方早已想到了: 使用View的BaseSavedState来保存状态。在一个activity被销毁前,不一定会调用onSaveInstanceState()这个方法,因为不是所有情况都需要去存储activity的状态(例如当用户按回退键退出你的activity的时候
2015-04-09 10:28:06
3586
原创 Android原理——自定义Toast原理
Android自定义Toast - 原生的Toast真的很难看不是吗 - 多个Toast依次显示,程序都结束了还在不停的显示呢 解决办法:自定义Toast + 单例类
2015-03-04 13:09:15
2007
1
原创 Android原理——回弹ScrollView
回弹的ScrollView网上看到的通常是ElasticScrollView, 有一个Bug:点击子控件滑动时,滑动无效, 所以针对此问题,我对ElasticScrollView做了改进。 原理图代码我在注释中做了详细的说明import android.content.Context; import android.graphics.Rect; import android.util.Attr
2015-02-17 22:17:03
2194
原创 Android原理——回调机制
Android回调机制回调函数可以把调用者与被调用者分开,调用者不关心谁是被调用者,调用者只需知道具有特定原型和限制条件的被调函数。 1.定义一个回调函数; 2.提供函数实现的一方在初始化的时候,将回调函数的实例化接口提交给调用者; 3.当特定的事件或条件发生的时候,调用者使用接口调用回调函数对事件进行处理。 看到过一句写的比较好的描述:A类中调用B类的某个方法C,然后B类中反过来调
2015-02-11 09:45:34
1641
原创 Android修炼之道—Java之强引用、软引用、弱引用、虚引用
在以下代码References类中,依次创建了10个软引用、10个弱引用和10个虚引用,它们各自引用一个Grocery对象。从程序运 行时的打印结果可以看出,虚引用形同虚设,它所引用的对象随时可能被垃圾回收,具有弱引用的对象拥有稍微长的生命周期,当垃圾回收器执行回收操作时,有可能被垃圾回收,具有软引用的对象拥有较长的生命周期,但在Java虚拟机认为内存不足的情况下,也会被垃圾回收。 [html]
2015-02-06 06:19:43
1031
原创 Android修炼之道—vine底层的尝试
在vine的第三方库中,有以下六个: 这六个都是ffmpeg的库:http://apt-blog.net/using_ffmpeg_api libavcodec:CODEC其实是Coder/Decoder的缩写,也就是编码解码器; libavdevice:对输出输入设备的支持; libavformat:对音频视频格式的解析 libavutil:集项工具; libpostproc:后期效
2015-02-06 06:19:13
1067
原创 Ruby—关于Button跳转
这里有两种可以用的: 1. New Post'.html_safe, product_path %> 2.New Post »
2015-01-27 21:52:50
1518
原创 Ruby—My First Real Ruby Website
这虽然不是我的第一个作品,但是算是正式上线的Ruby网站。 Welcom To My Ruby Website : https://menkey-league.herokuapp.com/about
2015-01-27 01:13:38
608
原创 Ruby—在Heroku上部署Rails4
这里是 Heroku部署官方文档: 下面是部署的步骤: 建立仓库: $ cd my_demo_name $ git init $ git add . $ git commit -m "first commit" 检查git状态 $ git status 登录heroku $ heroku login // 输入 $ email: $ password:
2015-01-24 22:24:21
882
原创 Ruby——在Rails上使用Bootstrap
首先, Download Bootstrap Copy: bootstrap/dist/css/bootstrap.css and bootstrap/dist/css/bootstrap.min.css To: vendor/assets/stylesheets Copy: bootstrap/dist/js/boots
2015-01-23 12:18:04
1929
原创 Ruby—Mysql2::Error: Can't connect to MySQL server on '127.0.0.1' (61)
问题出现: 直接导github上的ruby项目,在bundle install之后,rails server出现错误 Could not find gem 'mysql2 (>= 0) ruby' in the gems available on this machine. 解决方法: Mac上安装的默认sqlite3 所以,先安装 brew install mysql 再安装 g
2015-01-22 20:25:50
2980
原创 Ruby——生成文档
生成HTML格式的文档 rake doc:app 检查编写的代码量 rake stats mactekiMacBook-Pro-3:depot mac$ rake doc:app rm -r doc/app Parsing sources... 100% [26/26] app/models/user.rb Generati
2015-01-21 23:03:30
1091
原创 Ruby——Mac下配置Apache
与Linux不同,Mac文件夹没有 /etc/httpd/conf/httpd.conf 但存在 /etc/apache2/httpd.conf etc/apache2/extra/httpd-vhosts.conf Mac OS 近年苹果的雄起, 让 Mac 日催普及, 也成为很多开发人员的选择. 因为与 Linux 同源, 配置方法也相似. 1.
2015-01-21 21:19:10
721
原创 Ruby:The provided regular expression is using multiline anchors (^ or $), which may present a securi
Ruby 从3.0到4.0 validates 正则表达式 check_options_validity': The provided regular expression is using multiline anchors (^ or $) rails4中validates不支持 ^ 和 $ , 替换成\A 和 \z - ACCOUNT_EMAIL_FORMAT
2015-01-19 12:27:12
1320
原创 NDK中编写C++线程
由于Android 4.0的垃圾收集器被改变。现在,它移动的垃圾收集过程中周围的物体,这可能会导致很多问题。 出现如下错误: E/dalvikvm(30944): JNI ERROR (app bug): accessed stale local reference 0xbc00021 (index 8 in a table of size 8) E/dalvikvm(30944)
2015-01-17 23:31:11
896
原创 jni问题备忘
java和c是如何互通的? 其实不能互通的原因主要是数据类型的问题,jni解决了这个问题,例如那个c文件中的jstring数据类型就是java传入的String对象,经过jni函数的转化就能成为c的char*。 如何将java传入的String参数转换为c的char*,然后使用? java 传入的String参数,在c文件中被jni转换为jstring的数
2015-01-14 12:20:50
718
原创 Android代码设置Shape渐变色
http://stackoverflow.com/questions/4177401/gradientdrawable-in-code < gradient android:startColor="#255779" android:centerColor="#3e7492" android:endColor="#a
2015-01-11 22:59:31
5571
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人