11 2019 档案
摘要:题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思想 首先,我们设定一个哨兵节点 "prehead" ,这可以在最后让我们比较容易地返回合并后的链表。我们维护一
阅读全文
摘要:一、前言 今天讲述在苹果日常开发中一个装逼神器LLDB,是Xcode内置的动态调试工具. 在iOS系统程序开发中,会经常需要代码调试的追踪, 最常用的也是LLDB(low level debugger) .LLDB能更好的辅助开发者通过各种手段如修改变量进行测试,甚至能协助开发同学来定位bug. L
阅读全文
摘要:题目 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 思想 总体思路: 使用快慢指针找到链表的中间位置 反转前半部分链表 逐一对比前后两部分链表 上面提到了快慢指针,我们来了解一下如下: 利用快慢指针,将一
阅读全文
摘要:今天将讲述设计模式的另一篇--建造者(构造器)模式,网上的资料也有很多,但感觉都是大而同,小而不同,希望本篇可以为大家增加点对建造者模式的认识和理解. 介绍 1.1 建造者(构建器)模式 建造者(构建器)--Builder模式, 是将一个复杂对象的构建与表示相分离,是的同样的构建过程可以有不同的创建
阅读全文
摘要:题目 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例1 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例2 输入: 1->1->1->2->3 输出: 2->3 思路 新建新链表,创建newHead以及newCurrent分别
阅读全文
摘要:今天我们开始另一模块的算法题,关于链表的操作. Let's do it !!! 题目 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例1 输入: 1->1->2 输出: 1->2 示例2 输入: 1->1->2->3->3 输出: 1->2->3 思想 首先我们定义好节点结构,包
阅读全文
摘要:本人已迁移博客至掘进,以后会在掘进平台更新最新的文章也会有更多的干货,欢迎大家关注!!!https://juejin.im/user/588993965333309 今天我们将继续讲解逆向开发工程另一个重要内容--Hook原理讲解。Hook,可以中文译为“挂钩”或者“钩子”,逆向开发中改变程序运行的
阅读全文
摘要:本人已迁移博客至掘进,以后会在掘进平台更新最新的文章也会有更多的干货,欢迎大家关注!!!https://juejin.im/user/588993965333309 今天是逆向开发的第5天内容--MachO文件(Mac 和 iOS 平台可执行的文件),在逆向开发中是比较重要的,下面我们着重讲解一下M
阅读全文
摘要:你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。 每次移动,你可以取一
阅读全文
摘要:今天我们讲解几道这两天遇到的面试题--GCD编程的.题目很不错,很考究关于GCD的基本概念和使用. 对于基本的概念,本人博客已在前面讲过,本篇主要以面试题来讲解.大家可看一下本人关于GCD的基本讲解 https://www.cnblogs.com/guohai-stronger/p/9038567.
阅读全文
摘要:前面工厂方法模式中考虑的是一类产品的生产, 如畜牧场只管动物、电视机厂只产电视机等. 同种类称为同等级, 也就是说,工厂方法模式只会考虑生产同等级的产品,但是在现实生活中许多工厂都是综合性很强的,也会加大工厂的最大使用效率,能够生产出多等级的产品. 畜牧场可以养动物,也可以养植物等. 本篇博客将讲述
阅读全文
摘要:模式动机 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: • 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制
阅读全文
摘要:给定一个包含非负整数的m * n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总合为最小. 说明: 每次只能向下或者向右移动一下. 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。 解法一: 动态规
阅读全文
摘要:今天继续讲述逆向开发中另一个比较重要的课程是代码注入内容,本篇篇幅比较长,但还是有很多干货的,希望大家通过此篇文章更加了解逆向开发中的要点和知识点.我们将分解几个内容,进行讲解: Framework注入 Dylib注入 MethodSwizzle 微信示例讲解 总结 让代码执行自己的代码,整体方案如
阅读全文
摘要:给定字符串s 和 t ,判断 s 是否为 t 的子序列. 你可以认为s 和 t 中仅包含英文小写字母. 字符串 t 可能会很长(长度约等于500000), 而 s 是个短字符(长度<= 100). 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例
阅读全文
摘要:今天我们继续讲解一下设计模式中的另一种 装饰器模式. 一、定义及结构图 装饰器模式是指对已经存在的某些类进行装饰,来扩展一些功能,属于结构型模式.创建一个装饰类来包装原有的类以达到装饰的效果.其结构图如下所示: Component为统一的接口,也是被装饰类和装饰类的基本. ConcreteCompo
阅读全文
摘要:本人已迁移博客至掘进,以后会在掘进平台更新最新的文章也会有更多的干货,欢迎大家关注!!!https://juejin.im/user/588993965333309 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来
阅读全文
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0
阅读全文
摘要:在现实的开发中,许多的对象都不是独立存在的,其中一个对象的行为发生改变可能导致了一个或者多个其他对象的行为也会发生改变。而这对应着设计模式中--观察者模式。 一、模式的定义与特点 定义: 指多个对象存在一对多的依赖关系,当一个对象的状态发生改变的时候,所有依赖于它的对象得到了通知并被自动更新。这种模
阅读全文
摘要:在讲述之前,我们首先看小例子: 现实生活中我们去商场上买东西的时候,卖场经常根据不同的客户来制定不同的报价策略,比如新客户不打折扣,针对老客户打9折,针对VIP打8折…… 现在我们做一个报价管理模块,简要点就是针对不同的客户,提供不同的报价。 假如是有你来做,你会怎么做?在日常的开发中,我们大部分会
阅读全文
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步. 机器人试图达到网格的右下角(在下图中标记为“Finish”) 问总共有多少条不同的路径? 说明: m和n 的值均不超过100 示例1: 输入: m = 3, n = 2 输
阅读全文
摘要:给定一个字符串s,找到s中最长的回文子串. 你可以假设 s 的最大长度为1000. 示例1 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例2 输入: "cbbd" 输出: "bb" 解法一: 暴力解法 根据回文子串的定义,枚举所有长度大于等于2的子串,以此判
阅读全文
摘要:在日常的工作生活中,有这些场景:(还有其他生活场景) 去银行办理业务一般会经过四个流程:取号、排队、办理业务以及办理完业务后对工作人员进行评分等流程,其中取号、排队和对银行工作人员进行评分的业务对每个顾客都是同样的,可以在父类中实现;但是办理的业务每个人是不同的,取款、存款或者转账等,个人的具体业务
阅读全文
摘要:假设你正在爬楼梯.需要n阶你才能到达. 每次你可以爬1或者2个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意: 给定n是一个正整数. 示例1: 示例2: 解法一: 动态规划 先不讲思想之类的,先看n值不断变化的时候,有什么规律吗?,用result记录多种可能性 通过上面我们发现规律如下: 思想 下
阅读全文
摘要:前面写了一些算法题,但是写到后面,发现不怎么系统起来,所以从这一篇开始,我们先着重介绍一下动态规划算法! 我们以题目开门见山. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 解法一:动态规划思想 思路 首先对数组进行遍历,当前最大连续
阅读全文
摘要:本人已迁移博客至掘进,以后会在掘进平台更新最新的文章也会有更多的干货,欢迎大家关注!!!https://juejin.im/user/588993965333309 在新的项目中,接触到了一个很不错的框架R.swift,可以帮助更方便安全的使用资源文件,相信已经使用过的或者还没有接触过的,一旦使用过
阅读全文
摘要:在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等。但是很多相应的开发者并不理解iOS App应用签名的原理和流程。今天着重讲解一下此内容。 思考 在苹果的iOS系统出来之前,以前的主流程Mac OS/Window软件存在着安
阅读全文
摘要:本人已迁移博客至掘进,以后会在掘进平台更新最新的文章也会有更多的干货,欢迎大家关注!!!https://juejin.im/user/588993965333309 一、基本概括 讲解 在组件化之前,app都是在一个工程里开发的,开发的人员也是比较少的,业务发展也不是非常快,项目中不引用组件化开发也
阅读全文