自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS之autoreleasepool详解

所有app的入口都是一个main函数int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }}可以发现:整个 iOS 的应用都是包含在一个...

2019-04-27 21:09:42 3650 1

原创 iOS之Runloop

RunLoop的概念:一般来说,一个线程只能执行一个任务,任务执行完成就会退出,有时候,我们需要这样一种机制,让线程能随时处理事件,但不会退出,通常来说,代码逻辑如下:function loop() { initialize(); do { var message = get_next_message(); process_message(mes...

2019-04-27 16:59:03 506

原创 iOS音频视频开发

数字音频概念介绍将模拟信号数字化,需要三个步骤:采样:在时间轴上对信号进行数字化。量化:在幅度上对每个采样进行数字化,如使用16bit的二进制信号来表示声音的一个采样,16bit所表示的范围是 [-32768,32767],共有65536个可能取值。编码:对采样结果进行储存。音频裸数据格式——脉冲编码调制数据PCM,描述一段PCM数据一般需要以下几个概念:量化格式:如在CD中,为1...

2019-04-23 22:10:44 1131

原创 排序算法总结

O(n^2)为什么要学习O(n^2)的排序算法?编码简单,易于实现在某些特殊情况,简单的算法更有效简单算法的思想衍生出复杂的排序算法(如插入排序 -> 希尔排序)作为子过程,改进更复杂的排序算法选择排序template<typename T>void selectSort(T arr[], int len){ for (int i = 0; i &lt...

2019-04-23 11:29:11 249

原创 iOS中的各种锁

1:互斥锁测试代码使用3个线程,每个线程加1w次,测试各个互斥锁的性能注意使用锁的时候,不要将锁声明为 @property,这样会生成set方法和get方法,每次加锁都会调用get方法,这样降低了锁的性能#import <mach/mach_time.h>dispatch_group_t group = dispatch_group_create(); dispat...

2019-04-21 22:41:07 201

原创 iOS进程间通信

对于app来说,一个运行的app对应于一个进程,进程间通信就是app通信通信方式1:url scheme这个是iOS app通信最常用到的通信方式,App1 通过openURL 的方法跳转到 App2,并且在URL中带上想要的参数,有点类似http的get请求那样进行参数传递。这种方式是使用最多的最常见的,使用方法也很简单只需要源App1在info.plist中配置 LSApplication...

2019-04-21 15:52:55 402

原创 iOS runtime

runtime是oc的c语言实现objective c代码编译,先要转变为c语言,然后再进行汇编和编译的操作将oc转化为c的,就是由runtime实现的。下面是类、对象、方法、方法列表在c语言中的实现(删除了宏定义部分)//对象struct objc_object { Class isa OBJC_ISA_AVAILABILITY;};//类(也叫类对象,类在编译期间用于创...

2019-04-19 14:35:54 148

原创 Linux网络开发——TCP/IP基础

一:网络模型(ISO/OSI参考模型)开放系统互联模型(ISO/OSI参考模型,也叫七层网络模型)层次作用传输单位(统称为PDU)例子和类比应用层与应用程序界面沟通,以达到展示给用户的目的:HTTP、HTTPS、FTP、SSH、SMTP、TELNET、POP3等APDU经理:写了一份邮件草稿表示层处理数据格式、压缩、数据加密PPDU助理:修改错字,对格...

2019-04-10 09:48:29 220

原创 回溯法与全排列和全组合

如图:全排列问题是一个典型的树型问题:

2019-04-08 12:45:26 779

原创 二叉树和递归

LeetCode 104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 public class Mai...

2019-04-06 21:50:24 115

原创 模拟系统栈实现二叉树前序遍历

import java.util.*;public class Main { public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } //...

2019-04-06 16:47:12 304

原创 二叉树的层序遍历

leetcode 102 二叉树的层序遍历给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]import sun.reflec...

2019-04-06 16:05:46 159

原创 反转链表(递归和非递归实现)

1:反转链表递归实现注意反转后,第一个节点和第二个节点之间的循环引用(反转后的倒数第二个节点指向倒数第一个,但倒数第一个还是指向的倒数第二个,从而造成循环引用,所以反转后,要把头节点置空)public class Main { public static class ListNode { int val; ListNode next; ...

2019-04-05 14:25:58 191

原创 查找表相关问题

例1:给定两个数组,编写一个函数来计算它们的交集leetCode 349 --------- Set的使用示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果...

2019-04-04 15:27:57 230

原创 指针对撞法

例1:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]import org.omg.PortableInter...

2019-04-04 10:14:39 256

原创 pandas基本使用

DataFrame1:选取特定值的数据print(onlineData[onlineData['User_id'] == 14336199])2:去除重复的数据drop_duplicates:def drop_duplicates(self, subset=None, keep='first', inplace=False):# subset:可以接收一个字符串作为列名,也可以接收...

2019-04-03 13:43:41 222

原创 回溯法

题目 1:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。例如 :a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,...

2019-04-03 13:40:01 160

原创 动态规划和贪婪算法

1:动态规划满足如下条件的问题,可以使用动态规划来解决求一个问题的最优解这个问题可以分为若干个子问题子问题又可以被分为更小的子问题例子给一根长度为n的绳子,把绳子剪成m段,求m段的最大乘积是多少?当绳子长度为0的绳子:最大乘积为0当绳子长度为1绳子:最大乘积为1当绳子长度为2绳子:最大乘积为2当绳子长度为3绳子:最大乘积为3长度为4的绳子可以分为2和2:最大乘积为 2...

2019-04-03 13:34:34 200

原创 位运算

位运算一共只有5种操作:与 &:两者都为真时为真或 |:有一个为真,就为真异或**^**:都为0,或者都为1的时候为假,一个0或者一个1的时候,为真左移运算符 <<:对于无符号数,向左移,高位补0。对于有符号数,负数补1,正数补0右移运算符 >>:低位补0例1:输入一个数,输出该数二进制表示中1的个数。普通解法:先和 0001 做 & ...

2019-04-03 13:19:18 88

原创 滑动窗口法

题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0,如:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。可以使用滑动窗口法求解:维持一个窗口,每次计算窗口的值是否满足要求import org...

2019-04-03 13:08:46 656

禹晶数字图像处理.zip

禹晶数字图像处理 ppt,国内比较经典的教材,个人觉得比冈萨雷斯那本容易理解。

2019-08-16

FlaskWeb开发:基于Python的Web应用开发实战

flask是一个基于python的轻量级服务端框架,这本书算是写的比较好的入门书籍了,里面详细的介绍了flask中各项技术的使用。

2018-01-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除