<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jueyi1127的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jueyi1127</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jueyi1127]]></copyright><item><title><![CDATA[Swift字符串截取extention，简便截取方法]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/89195275</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/89195275</guid><author>jueyi1127</author><pubDate>Wed, 10 Apr 2019 21:23:56 +0800</pubDate><description><![CDATA[Swift的字符串截取并不能直接通过下标设置起始和结尾位置，通常比较繁琐。eg：



     //原生的
        let index = str.index(str.startIndex, offsetBy:3)
        print(str[index]) //d
        
        let endIndex = str.index(str.endIndex, ...]]></description><category></category></item><item><title><![CDATA[LeetCode 无重复字符的最长子串（Object-c实现）]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88743613</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88743613</guid><author>jueyi1127</author><pubDate>Fri, 22 Mar 2019 16:11:33 +0800</pubDate><description><![CDATA[Question：

给定一个字符串，找出不含有重复字符的最长子串的长度。

Ex：

给定"abcabcbb"，没有重复字符的最长子串是"abc"，那么长度就是3。

给定"bbbbb"，最长的子串就是"b"，长度是1。

给定"pwwkew"，最长子串是"wke"，长度是3。请注意答案必须是一个子串，"pwke"是子序列而不是子串。

oc解法：




/*...]]></description><category></category></item><item><title><![CDATA[oc实现栈]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88720214</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88720214</guid><author>jueyi1127</author><pubDate>Thu, 21 Mar 2019 17:12:32 +0800</pubDate><description><![CDATA[栈

栈是一种特殊的线性表，仅能在线性表的一端操作，栈顶允许操作，栈底不允许操作。 栈的特点是：先进后出，或者说是后进先出，从栈顶放入元素的操作叫入栈，取出元素叫出栈。






/*
 栈作为一种数据结构，是一种只能在一端进行插入和删除操作的特殊线性表。
 它按照先进后出的原则存储数据，先进入的数据被压入栈底，最后的数据在栈顶，
 需要读数据的时候从栈顶开始弹出数据（最后一个数据被第一个读出...]]></description><category></category></item><item><title><![CDATA[Objective-C算法和数据结构]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88691068</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88691068</guid><author>jueyi1127</author><pubDate>Wed, 20 Mar 2019 15:54:49 +0800</pubDate><description><![CDATA[多年来，我在我的存储库中积累了许多有趣的代码，这些代码来自我参与的不同研究和辅助项目。很多这些代码都基于C，C ++和Objective-C，但最终却从未见过光明，因为它被废弃为大项目或被弃用的功能的一部分。上周我查看了我的旧Objective-C档案，并意识到我有一些非常有趣的一般计算机科学算法的例子，我从未与博客观众分享过。这就是为什么我想写这篇文章，与你（我的博客观众）分享我最近在我的网站的...]]></description><category></category></item><item><title><![CDATA[OC数据结构总结]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88690630</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88690630</guid><author>jueyi1127</author><pubDate>Wed, 20 Mar 2019 15:40:28 +0800</pubDate><description><![CDATA[本篇为转载，颜色标注部分为本人理解内容。

https://www.agnosticdev.com/blog-entry/objective-c/objective-c-algorithms-and-data-structures
具体实现示例：https://github.com/quinntaylor/CHDataStructures

数组

栈

栈是一种特殊的线性表，仅能在线性表的一端操...]]></description><category></category></item><item><title><![CDATA[iOS破解编码技巧]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88671612</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88671612</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 20:11:19 +0800</pubDate><description><![CDATA[1iOS 善意破解简书APP(非越狱篇)实现一键点赞

2IOS APP破解完整流程（逆向工程完整详解）
]]></description><category></category></item><item><title><![CDATA[iOS数据结构 和 算法 上]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88671376</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88671376</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 20:03:20 +0800</pubDate><description><![CDATA[我在这里简单介绍一下 如果觉得有用尽管拷了去

数据结构

    写算法之前呢,我想简单介绍一下数据结构,数据结构通常分为四类

1.集合结构 线性结构 树形结构 图形结构

 这里没有图啊，大家可以抽象一下。

1.1、集合结构 说白了就是一个集合，就是一个圆圈中有很多个元素，元素与元素之间没有任何关系 这个很简单 

1.2、线性结构 说白了就是一个条线上站着很多...]]></description><category></category></item><item><title><![CDATA[二叉树-你必须要懂！（二叉树相关算法实现-iOS）]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88671331</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88671331</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 20:01:14 +0800</pubDate><description><![CDATA[二叉树-你必须要懂！（二叉树相关算法实现-iOS）

这几天详细了解了下二叉树的相关算法，原因是看了唐boy的一篇博客（你会翻转二叉树吗？），还有一篇关于百度的校园招聘面试经历，深刻体会到二叉树的重要性。于是乎，从网上收集并整理了一些关于二叉树的资料，及相关算法的实现（主要是Objective-C的，但是算法思想是相通的），以便以后复习时查阅。

什么是二叉树？

在计算机科学中，二叉树是每个节点...]]></description><category></category></item><item><title><![CDATA[贪心算法及几个经典例子]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88671118</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88671118</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 19:53:51 +0800</pubDate><description><![CDATA[贪心算法

一、基本概念：



所谓贪心算法是指，在对问题求解时，总是做出在当前看来是最好的选择。也就是说，不从整体最优上加以考虑，他所做出的仅是在某种意义上的局部最优解。

贪心算法没有固定的算法框架，算法设计的关键是贪心策略的选择。必须注意的是，贪心算法不是对所有问题都能得到整体最优解，选择的贪心策略必须具备无后效性，即某个状态以后的过程不会影响以前的状态，只与当前状态...]]></description><category></category></item><item><title><![CDATA[iOS算法笔记-快速排序-OC实现]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88671065</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88671065</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 19:50:30 +0800</pubDate><description><![CDATA[快速排序（Quicksort）是对冒泡排序的一种改进。


快速排序由C. A. R. Hoare在1962年提出。它的基本思想是：通过一趟排序将要排序的数据分割成独立的两部分，其中一部分的所有数据都比另外一部分的所有数据都要小，然后再按此方法对这两部分数据分别进行快速排序，整个排序过程可以递归进行，以此达到整个数据变成有序序列。


先来感受一下快速排序动态过程





快速排序过程

快速...]]></description><category></category></item><item><title><![CDATA[面试常考的常用数据结构与算法]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88671001</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88671001</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 19:47:55 +0800</pubDate><description><![CDATA[数据结构与算法，这个部分的内容其实是十分的庞大，要想都覆盖到不太容易。在校学习阶段我们可能需要对每种结构，每种算法都学习，但是找工作笔试或者面试的时候，要在很短的时间内考察一个人这方面的能力，把每种结构和算法都问一遍不太现实。所以，实际的情况是，企业一般考察一些看起来很基本的概念和算法，或者是一些变形，然后让你去实现。也许看起来简单，但是如果真让你在纸上或者是计算机上快速地完成一个算法，并且设计测...]]></description><category></category></item><item><title><![CDATA[《算法图解》部分算法实现--OC版]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88670863</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88670863</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 19:41:47 +0800</pubDate><description><![CDATA[本书示例丰富，图文并茂，以简明易懂的方式阐释了算法，旨在帮助程序员在日常项目中更好地利用 算法为软件开发助力。前三章介绍算法基础，包括二分查找、大 O 表示法、两种基本的数据结构以及递归 等。余下的篇幅将主要介绍应用广泛的算法，具体内容包括 :面对具体问题时的解决技巧，比如何时采用 贪婪算法或动态规划 ;散列表的应用 ;图算法 ;K 最近邻算法。

本书适合所有程序员、计算机专业相关师生以及对算法...]]></description><category></category></item><item><title><![CDATA[oc归并算法实现]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88668759</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88668759</guid><author>jueyi1127</author><pubDate>Tue, 19 Mar 2019 18:02:43 +0800</pubDate><description><![CDATA[合并算法Merge Sort

给定整数数组，使用Merge Sort算法对数组进行排序。
示例：
数组：12,35,87,26,9,28,7
输出：7,9,12,26,28,35,87



	算法/洞察
	
Merge sort是一种基于比较的算法，它使用分而治之的方法在O（n logn）时间内对数组进行排序。
合并排序是一种稳定排序，即它在排序后保留相同数组元素的顺序。
合并排序算法是：...]]></description><category></category></item><item><title><![CDATA[iOS性能调优系列(全)]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88580115</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88580115</guid><author>jueyi1127</author><pubDate>Fri, 15 Mar 2019 18:00:05 +0800</pubDate><description><![CDATA[目录



总结：

三类工具

基础工具 （NSLog的方式记录运行时间.）

性能工具.检测各个部分的性能表现,找出性能瓶颈

内存工具.检查内存正确性和内存使用效率

性能工具：

可以衡量CPU的使用,时间的消耗,电池的消耗

一、Time Profile

内存工具：

关心内存泄露和内存垃圾问题

一、Analyze静态分析

1. 静态内存分析

2. 内存分配

二、Leaks动...]]></description><category></category></item><item><title><![CDATA[IOS 详解socket编程[oc]粘包、半包处理]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88579503</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88579503</guid><author>jueyi1127</author><pubDate>Fri, 15 Mar 2019 17:33:37 +0800</pubDate><description><![CDATA[在做socket编程时，如果是做tcp连接，那就不可避免的会遇到粘包与半包的问题，粘包就是多组数据被一并接收了,粘在了一起，无法做划分；半包就是有数据接收不完整，无法处理。要解决粘包、半包的问题，一般在设计数据(消息)格式时会约定好一个字段专门用于描述数据包的长度，这样就使数据有了边界，依靠这个边界，就能把每组数据划分出来，数据不完整时也能获知数据的缺失。

(当然也可以把数据设计成定长数据，但这...]]></description><category></category></item><item><title><![CDATA[iOS UI事件传递与响应者链]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88579370</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88579370</guid><author>jueyi1127</author><pubDate>Fri, 15 Mar 2019 17:28:04 +0800</pubDate><description><![CDATA[响应者链


	响应者对象：继承自UIResponder的对象称之为响应者对象。UIApplication、UIWindow、UIViewController和所有继承UIView的UIKit类都直接或间接的继承自UIResponder。
	
UIResponder一般响应以下几种事件：触摸事件(touch handling)、点按事件(press handling)、加速事件和远程控制事件：

...]]></description><category></category></item><item><title><![CDATA[Socket简析与iOS实现]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88579230</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88579230</guid><author>jueyi1127</author><pubDate>Fri, 15 Mar 2019 17:22:56 +0800</pubDate><description><![CDATA[WebSocket

Socket的基本概念

1.定义


网络上两个程序通过一个双向通信连接实现数据交互，这种双向通信的连接叫做Socket（套接字）。


2.本质

网络模型中应用层与TCP/IP协议族通信的中间软件抽象层，是它的一组编程接口（API），也即对TCP/IP的封装。TCP/IP也要提供可供程序员做网络开发所用的接口，即Socket编程接口。

Socket的位置

3.要素
...]]></description><category></category></item><item><title><![CDATA[iOS面试题：子视图超过父视图部分是否可见，能否响应]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88573642</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88573642</guid><author>jueyi1127</author><pubDate>Fri, 15 Mar 2019 14:37:41 +0800</pubDate><description><![CDATA[目录



1 题目：子视图超出父视图的部分能看到么？超出的部分有什么影响？

2经典用途：tabbar中间凸起按钮点击。

3 其他用法：菜单下拉tableview。

1 题目：子视图超出父视图的部分能看到么？超出的部分有什么影响？

子视图超出父视图的部分能看到。但是超出的部分不能响应事件。想让超出的部分响应事件，就该写父视图的hitTest方法。判断触碰区域是否在子视图内，如果在子视图...]]></description><category></category></item><item><title><![CDATA[iOS面试算法总结1]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88569841</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88569841</guid><author>jueyi1127</author><pubDate>Fri, 15 Mar 2019 11:46:25 +0800</pubDate><description><![CDATA[1冒泡排序

/**

*【冒泡排序】：相邻元素两两比较，比较完一趟，最值出现在末尾

*第1趟：依次比较相邻的两个数，不断交换（小数放前，大数放后）逐个推进，最值最后出现在第n个元素位置

*第2趟：依次比较相邻的两个数，不断交换（小数放前，大数放后）逐个推进，最值最后出现在第n-1个元素位置

*…………

*第n-1趟：依次比较相邻的两个数，不断交换（...]]></description><category></category></item><item><title><![CDATA[iOS ucloud多图异步上传]]></title><link>https://blog.youkuaiyun.com/jueyi1127/article/details/88396025</link><guid>https://blog.youkuaiyun.com/jueyi1127/article/details/88396025</guid><author>jueyi1127</author><pubDate>Mon, 11 Mar 2019 16:04:42 +0800</pubDate><description><![CDATA[最近开发项目中，用到ucloud上传多图，使用GCD的group队列，进行多图异步上传，提高上传速度。调用如下：


//ucloud多图上传封装

- (void)uploadMultiPic

{

  NSMutableArray *uploadImageArr = [NSMutableArray array];

  //创建group

  dispatch_group_t ...]]></description><category></category></item></channel></rss>